オーディオとビデオを再生するにはチュートリアル] [Unity3D Unity3Dをはじめ

序文

ゲーム開発の過程で、私たちはしばしば、我々はあなたに内蔵されたユニティの機能使用して、オーディオやビデオを再生する簡単な方法を持って今日、オーディオとビデオを再生するために使用します。「Unity3Dゲーム開発、」Xuanyu歌、感謝によって書かれた書籍の内容をこの参照。

 

1プレイオーディオ

まず第一に、UnityはオーディオフォーマットはMP3、OGGなどに、WAVサポート。ゲームオブジェクトは、シーン内の空のオブジェクトを作成し、はAudioSourceコンポーネントを追加します。あなただけではAudioSourceコンポーネントの空間オブジェクトを作成した音楽ファイルへのプロジェクトの資産およびバインドの上にmp3の音楽フォルダのセクションでたAudioClip。

次のスクリプトPlayAudio.csを書きます:

using UnityEngine;
using System.Collections;

public class PlayAudio : MonoBehaviour {

    public AudioSource audio;

    public float volume;
	void Start () {
        volume = 0.2f;
	}
	
	// Update is called once per frame
    void OnGUI()
    {
        if (GUI.Button(new Rect(10, 10, 200, 100), "Play"))
        {
            if (!audio.isPlaying)
            {
                audio.Play();
            }
        }
        if (GUI.Button(new Rect(10, 120, 200, 100), "Close"))
        {
            if (audio.isPlaying)
            {
                audio.Stop();
            }
        }
        if (GUI.Button(new Rect(10, 230, 200, 100), "Pause"))
        {
            if (audio.isPlaying)
            {
                audio.Pause();
            }
        }
        volume = GUI.HorizontalSlider(new Rect(250, 50, 200, 50), volume, 0, 1);
        GUI.Label(new Rect(250, 70, 300, 20), "Volume:" + (int)(volume * 100) + "%");

        if (audio.isPlaying)
        {
            audio.volume = volume;
        }       
    }
}


そして、MainCameraにバインドPlayAudio.csはちょうどオーディオ変数PlayAudioスクリプトにゲームオブジェクトをドラッグし、それを作成しました。

プログラムを実行し、以下の結果:



2プレイ動画

Unityがサポートするビデオ形式はMOV、MPG、MPEG、MP4、などが AVI、ASFを。ビデオがUnityにドラッグされたときしかし、時には、問題になります。したがって、我々は、ビデオフォーマットの変換をお勧めします。推奨ツール:Theoraのコンバーター.NET、アドレスhttps://pan.baidu.com/s/1miQ8NNU再生する変換されたファイルをダウンロードしてインストールし、直接Unityの識別することができますOGVフォーマットです。

プロジェクトの資産フォルダへOGV変換形式のビデオファイル。シーンに平面を作成し、平面上のPlayVideo.csに次のスクリプトをバインドします。そして、スクリプトの場所にmyMovieTexture変数にビデオを放送されます。

using UnityEngine;
using System.Collections;

public class PlayVideo : MonoBehaviour {

    public MovieTexture myMovieTexture;
	void Start () {
        this.GetComponent<Renderer>().material.mainTexture = myMovieTexture;
        myMovieTexture.loop = true;
	}
	
	// Update is called once per frame
    void OnGUI()
    {
        if (GUI.Button(new Rect(10, 10, 200, 100), "PlayMovie/ContinueMovie"))
        {
            if (!myMovieTexture.isPlaying)
            {
                myMovieTexture.Play();
            }
        }
        if (GUI.Button(new Rect(10, 110, 200, 100), "PauseMovie"))
        {
            if (!myMovieTexture.isPlaying)
            {
                myMovieTexture.Pause();
            }
        }
        if (GUI.Button(new Rect(10, 210, 200, 100), "CloseMovie"))
        {
            if (!myMovieTexture.isPlaying)
            {
                myMovieTexture.Stop();
            }
        }
    }
}


業績:



发布了65 篇原创文章 · 获赞 265 · 访问量 55万+

おすすめ

転載: blog.csdn.net/zzlyw/article/details/54292856