using UnityEngine;
using System.Collections;
using UnityEngine.UI;
[RequireComponent (typeof(AudioSource))]
public class PlayVideo : MonoBehaviour {
public MovieTexture movie;
public AudioSource audio;
// Use this for initialization
void Start () {
GetComponent<RawImage> ().texture = movie as MovieTexture;
audio = GetComponent<AudioSource> ();
audio.clip = movie.audioClip;
movie.Play();
audio.Play();
}
这个脚本在我玩的时候正常工作。但是当我为Android安装时,我得到错误。我可以在Android设备上播放视频吗?
答案 0 :(得分:1)
Android不支持MovieTexture。
https://docs.unity3d.com/Manual/class-MovieTexture.html
5.6中有新的VideoPlayer。
https://docs.google.com/document/d/1gZa5z_jEEETDk8E_hbYXXjNhetRlM9eu8eTpbfMkRYY/edit
至于警告,有一段时间所有MonoBehaviour都会获得其他脚本的一组参考。 Rigidbody,AudioSource,Transform,......所有这些Unity类型。但它被移除了,只有Transform通过切割(最有可能因为它是唯一可以找到的组件)。
尽管事实已被删除,但似乎他们忘了全部删除引用,所以即使它们不可用,也会弹出警告(即使引用不是,编译时警告调试代码检查仍然存在)现有的)。
您可以忽略,添加宏:
#pragma warning disable 0108
使用不同的命名或添加新关键字。
private new AudioSource audio;
编辑:如果您需要在5.5中播放Androir上的视频,您可以使用:
https://docs.unity3d.com/ScriptReference/Handheld.PlayFullScreenMovie.html
将播放全屏。它基本上会暂停Unity应用程序,启动视频播放器的新过程,您可以通过点击视频来停止该过程。没有进一步的控制,你不能让窗口变小。
另一种情况是从商店购买插件。只需设置搜索视频纹理,然后选择。
在这种情况下,它将使用渲染纹理来显示视频内容。因此,您可以在UI对象或世界对象上设置纹理。