2 如何启动视频播放器¶
2.1 设置 Action¶
在Android层初始化Intent,通过设置action “picovr.intent.action.player” 来启动内置视频播放器。
2.2 参数设置¶
以下是在Intent中要输入的参数。本地视频需要输入uri(path)和title,而视频直播资源则至少需要输入uri。
参数 | 类型 | 备注 |
---|---|---|
uri | String | 播放地址(必传) |
title | String | 视频名称(必传) |
videoType | String | 视频类型 |
playTime | Int | 播放起点 |
videoSource | String | 视频来源。0:网络 1:本地 2:飞屏 3:直播 4:乐播 |
scenes | Int | 改变背景。0代表pmax;1代表空白;2代表海滩影院。 |
position | Float | 相机的位置(仅在大屏模式下生效) |
seekPlay | Boolean | 跳到最后播放的位置。传true重新播放,传false续播;true表示在屏幕关闭以及再次打开后,视频将从头开始播放。 |
loop | Boolean | 是否循环播放列表视频。传true循环播放列表视频。 |
isControl | Boolean | 是否显示控制面板UI。传true显示UI。 |
play_list | String | 视频播放列表。列表格式应为JSON。 |
shouldPlayIndex | Int | 选择播放列表中的视频进行播放。 |
play_list JSON 数据格式为
[{\"index\":0,\"name\":\"test2D.mp4\",\"playMode\":0,\"url\":\"%2Fsdcard%2Ftest2D.mp4\"},{\"index\":1,\"name\":\"test.mp4\",\"playMode\":2,\"url\":\"%2Fsdcard%2Ftest.mp4\"}]
2.3 权限¶
在AndroidManifest.xml 文件中,需要添加以下权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
2.4 所支持的视频格式¶
下表为支持的视频类型以及类型参数:
视频类型 | 参数 | |
---|---|---|
_2D | 2D | 0 |
_3D_LR | 3D左右 | 1 |
_360 | 全景 2D | 2 |
_3D360_TB | 全景 3D 上下 | 3 |
_3D360_BT | 全景 3D 下上 | 4 |
_3D360_LR | 全景 3D 左右 | 5 |
_3D360_RL | 全景 3D 右左 | 6 |
_3D_TB | 3D 上下 | 7 |
_3D_BT | 3D 下上 | 8 |
_3D_RL | 3D 右左 | 9 |
_180 | 180° 2D | 10 |
_3D180_TB | 180° 3D 上下 | 11 |
_3D180_BT | 180° 3D 下上 | 12 |
_3D180_LR | 180° 3D 左右 | 13 |
_3D180_RL | 180° 3D 右左 | 14 |
_2DFishEye | FishEye 2D | 15 |
_3DFishEye_TB | FishEye 3D 上下 | 16 |
_3DFishEye_BT | FishEye 3D 下上 | 17 |
_3DFishEye_LR | FishEye 3D 左右 | 18 |
_3DFishEye_RL | FishEye 3D 右左 | 19 |
_CubeMap | Youtube | 20 |
_CubeMap_LR | Youtube 3D 左右 | 21 |
注意: 如果没有任何指定的视频类型,则默认为0(2D)。
2.5 示例代码¶
aar文件下载地址: https://github.com/picoxr/launch-pico-player/blob/master/resource/launch-pico-player.aar
在Unity项目中,如何调用aar文件中的函数,请参考示例代码。
示例代码:
AndroidJavaObject context = new AndroidJavaClass("com.unity3d.player.UnityPlayer").GetStatic<AndroidJavaObject>("currentActivity");
AndroidJavaObject videoPlayer = new AndroidJavaObject("com.picovr.picoplaymanager.PicovrLaunchPlayer");
videoPlayer.Call<AndroidJavaObject>("uri", "/sdcard/test.mp4", false)
.Call<AndroidJavaObject>("playTime", 20)
.Call<AndroidJavaObject>("scenes", 2)
...
.Call("launchVideoPlayer", context);