Android中的眼睛检测视频播放器
在本文中,我们将学习如何制作眼睛检测视频播放器并在我们的 android 应用程序中使用第三方库。如果您是 android 开发的初学者,那么通过制作此应用程序,您将增强信心并学习一些有趣的新知识。
我们将在本文中构建什么?
在这个应用程序中,我们将使用一个名为“ LookAtMe ”的库,然后在我们的应用程序中放置一个视频。如果用户的眼睛在相机的范围内,则视频将继续播放,但如果眼睛不在相机的范围内,则视频将立即停止。如果用户的眼睛再次进入摄像机的范围内,则视频将从暂停的位置恢复。下面给出了一个示例 GIF,以了解我们将在本文中做什么。请注意,我们将使用Java语言来实现这个项目。
那么,让我们看看这个应用程序的逐步实现。
分步实施
第 1 步:创建一个新项目
要在 Android Studio 中创建新项目,请参阅如何在 Android Studio 中创建/启动新项目。请注意,选择Java作为编程语言。
第 2 步:添加依赖项和 JitPack 存储库
导航到Gradle Scripts > build.gradle(Module:app)并在依赖项部分添加以下依赖项。
implementation ‘com.github.Pradyuman7:LookAtMe:Version2.0’
将 JitPack 存储库添加到您的构建文件中。将其添加到 allprojects{} 部分中存储库末尾的根 build.gradle 中。
allprojects {
repositories {
…
maven { url “https://jitpack.io” }
}
}
添加此依赖项后同步您的项目,现在我们将转向它的实现。
第3步:转到“ res ”并创建一个新的android资源目录并将其命名为raw。这个文件是用来粘贴我们想在我们的应用程序中播放的离线视频(对于不需要创建它的在线视频,我们可以在Java代码中提供视频的链接,我们将在前面看到)。
Refer to the article: Resource Raw Folder in Android Studio
步骤 4:使用 activity_main.xml 文件
导航到app > res > layout > activity_main.xml并将以下代码添加到该文件中。
下面是activity_main.xml文件的代码。
XML
Java
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import com.pd.lookatme.LookAtMe;
public class MainActivity extends AppCompatActivity {
private LookAtMe lookAtMe;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getSupportActionBar().hide();
lookAtMe = findViewById(R.id.lookme);
lookAtMe.init(this);
// This line of code is used for offline videos which we pasted in our raw file.
// lookAtMe.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.gfg_eye_detecting));
// This code is used for online videos along with their url
// to use video from a url
lookAtMe.setVideoPath("https://media.geeksforgeeks.org/wp-content/uploads/20210420234728/whatsnew.mp4?_=1");
lookAtMe.start();
lookAtMe.setLookMe();
}
}
第 5 步:使用MainActivity。 Java文件
转到主活动。 Java文件,参考如下代码。我们必须在我们的Java文件中使用以下代码。
private LookAtMe lookAtMe;
lookAtMe = findViewById(R.id.lookme);
lookAtMe.init(this);
lookAtMe.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.videoplayback));
// to use video from a url
lookAtMe.setVideoPath("http://website.com/video/mp4/62000/62792m.mp4");
lookAtMe.start();
lookAtMe.setLookMe();
下面是MainActivity的代码。 Java文件。代码中添加了注释以更详细地理解代码。
Java
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import com.pd.lookatme.LookAtMe;
public class MainActivity extends AppCompatActivity {
private LookAtMe lookAtMe;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getSupportActionBar().hide();
lookAtMe = findViewById(R.id.lookme);
lookAtMe.init(this);
// This line of code is used for offline videos which we pasted in our raw file.
// lookAtMe.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.gfg_eye_detecting));
// This code is used for online videos along with their url
// to use video from a url
lookAtMe.setVideoPath("https://media.geeksforgeeks.org/wp-content/uploads/20210420234728/whatsnew.mp4?_=1");
lookAtMe.start();
lookAtMe.setLookMe();
}
}
Note: You can play both online and offline videos in this application. For playing the offline video you have to paste it in the raw folder and then give its name in code as here mentioned “gfg_eye_detectig” but if you want to play the online video then you have to give it Url of the video in the code mentioned above.
第 6 步:使用 AndroidManifest.xml 文件
最后一件事。如果您在应用中使用在线视频,请不要忘记在清单文件中授予互联网权限。
输出:
所以,我们都完成了我们的代码和其他步骤,是时候查看输出了。在下面的视频中,您会看到,当我看到手机时,视频正在运行,但当我停止观看时,视频会自动暂停,只有当相机能够检测到眼睛时才会恢复。
因此,我们使用“LookAtMe”库制作了一个眼睛检测视频播放器应用程序,并对如何使用该库有一个基本的了解。您可以使用这些基础知识来创建自己的应用程序并越来越多地探索 Android 开发。