Unity AVProVideo安卓播放视频问题

博客指出Unity VideoPlayer在Android平台用url方式无法播放http链接视频,原因是从Android 8起默认不允许使用不安全的HTTP,需用HTTPS或自定义明文安全策略。给出解决办法,如修改配置文件,在指定位置添加内容,还说明了获取最新配置文件的方法及勾选允许HTTP下载。

打包ARM64,插件里arm64里的几个库都设置arm64,平台选择安卓

Unity VideoPlayer使用url方式,Android平台下无法播放http链接的视频

主要原因:
默认情况下,不允许从Android 8开始使用不安全的HTTP,并且必须使用HTTPS,除非分配了自定义的明文安全策略

解决办法:
只需要修改 AndroidManifest.xml,在 <application> 中添加 android:usesCleartextTraffic="true" 即可,以下是修改后完整的AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.unity3d.player" xmlns:tools="http://schemas.android.com/tools" android:installLocation="preferExternal">
  <uses-sdk tools:overrideLibrary="com.nreal.glasses_sdk" />
  <supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" android:anyDensity="true" />
  <application android:theme="@style/UnityThemeSelector" android:icon="@mipmap/app_icon" android:label="@string/app_name" android:usesCleartextTraffic="true">
    <activity android:name="com.unity3d.player.UnityPlayerActivity" android:theme="@style/UnityThemeSelector" android:label="@string/app_name" android:exported="true">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
      <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
    </activity>
    <meta-data android:name="nreal_sdk" android:value="true" />
    <meta-data android:name="com.nreal.supportDevices" android:value="NrealLight|NrealAir" />
  </application>
  <uses-permission android:name="android.permission.CAMERA" />
  <uses-permission android:name="android.permission.BLUETOOTH" />
  <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
  <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
</manifest>

Project Settings 配置的不同,AndroidManifest.xml 会不同,取得最新 AndroidManifest.xml 的方法是:

  • File -> Build Settings -> Build,导出一个完整的 .apk。
  • 导出 .apk 后不关闭 Unity, 在 <项目目录>\Temp\gradleOut\unityLibrary\src\main 下,就可以找到 AndroidManifest.xml

找到 AndroidManifest.xml 后,复制一份放置到 <项目目录>\Assets\Plugins\Android 下,再修改完成即可。

Allow downloads over HTTP  勾选Always allowed

Unity AVPro Video是一种在Unity游戏引擎中用于播放视频的插件。它允许开发者在游戏中无缝播放高质量的视频,包括在安卓平台上。在Android平台上播放视频,首先需要将视频文件保存在游戏资源文件夹中的特定位置,然后使用Unity AVPro Video插件中的API来加载并播放视频。 首先,我们需要将视频文件拖放到Unity项目的资源文件夹中,确保它们被正确导入。然后,我们可以通过在Unity场景中创建一个空的GameObject并添加AVPro Video的脚本组件来实现视频播放。该脚本组件将提供用于控制视频播放的各种功能和选项。 在使用AVPro Video播放视频时,我们可以设置视频播放位置、音量、速度和循环等属性。我们还可以通过脚本控制视频的暂停、停止、倒放、快进和快退等操作。插件还支持多个视频之间的过渡和混合效果,以及设置视频的遮罩和透明度。 为了在安卓设备上播放视频,我们需要将Unity项目导出为一个安卓应用程序,并将其部署到设备上。在导出过程中,如果已正确安装并配置了Unity AVPro Video插件,它将自动包含在导出的应用程序中。一旦应用程序被安装在安卓设备上,我们可以通过调用相应的播放函数来开始播放视频。 总之,Unity AVPro Video插件为安卓平台提供了强大且易于使用的功能,使开发者能够在游戏中无缝播放高质量的视频。通过正确配置和使用该插件,我们可以轻松实现在安卓设备上播放视频的功能。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

最菜程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值