前言
在遊戲開發的過程中,我們經常會用到播放音頻和視頻,我們今天給大家帶來一種簡單的播放音頻和視頻的方法,使用的是Unity自帶的函數。本文的內容參考了宣雨松所寫的《Unity3D遊戲開發》一書,特此致謝。
1 播放音頻
首先,Unity支持的音頻格式有wav、mp3、ogg等。在場景中創建一個空物體GameObject,併爲其添加AudioSource組件。將一段mp3音樂拖到project的assets文件夾下,並將該音樂文件綁定到剛纔創建的空物體的AudioSource組件的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;
}
}
}
將PlayAudio.cs綁定到MainCamera上,然後把剛纔創建的GameObject拖動到PlayAudio腳本的Audio變量上。
運行程序,得到如下結果:
2 播放視頻
Unity支持的視頻格式包括mov、mpg、mpeg、mp4、avi、asf。但是有的時候,在將視頻拖入Unity中的時候會出問題。所以我們建議先對視頻進行格式轉換。推薦工具:Theora Converter .NET,地址https://pan.baidu.com/s/1miQ8NNU。下載安裝後把要播放的文件轉換爲ogv格式,這種格式可以直接被Unity識別。
將轉化好的ogv格式的視頻文件拖到Project的Assets文件夾下。在場景中創建一個Plane,並且將下面的PlayVideo.cs腳本綁定到Plane上。並且將要播的視頻拖到該腳本的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();
}
}
}
}
運行效果: