Unity播放视频错误`PlayVideo.audio'隐藏继承成员`UnityEngine.Component.audio'。如果要隐藏,请使用new关键字

时间:2017-03-20 08:52:31

标签: c# android unity3d

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设备上播放视频吗?

1 个答案:

答案 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对象或世界对象上设置纹理。