外部聲音檔可使用 Wav、Mp3、Ogg、Xm、It、Mod、S3m 等格式
(但目前測試過只有 Android 才可以播放 mp3... PC 需要 Wav...)
(且Android 中測試過可以用中文與日文路徑,PC端目前並不行...,PC端一定要用英文路徑...)
使用本程式碼必須在外部加入 Component 元件:Audio Source
如下圖:
套用完 Audio Source 元件 與 程式碼 並 執行 後,正常來說就可以聽見聲音了
using UnityEngine;
using System.Collections;
public class Test : MonoBehaviour {
IEnumerator Start () {
// WWW www = new WWW ("file:///mnt/sdcard/1.wav"); // Android SD 卡路徑
WWW www = new WWW ("file://1.mp3"); // 當前 Unity 程式路徑 or Unity 專案路徑
yield return www;
audio.clip = www.audioClip;
audio.Play ();
}
}
另外我再提供一個按下按鈕撥放音樂的程式碼,不過此版本是Javascript的,我寫成C#不知為啥都不會動做,如果你寫C#會動做的話,請務必跟我說XD
function OnGUI () {
if(GUI.Button(Rect(10,10,100,50),"Play")){
Play ();
}
}
function Play () {
var www = new WWW ("file://1.mp3");
yield www;
audio.clip = www.audioClip;
audio.clip.name = "MyAudio";
audio.Play ();
}

我想要做一個是隨機跑1~5可以撥放不同個影片~可是他都很當@@我是不是哪裡寫錯~可以請教一下嗎~ function Start () { playSound = Random.Range(1, 5); while(playSound>0){ if(playSound == 1){ renderer.material.mainTexture = movieTexture1; renderer.material.color = Color.white; movieTexture1.Play(); movieTexture1.loop = true; sound1.Play(); } else if(playSound == 2){ renderer.material.mainTexture = movieTexture2; renderer.material.color = Color.white; movieTexture2.Play(); movieTexture2.loop = true; sound2.Play(); } else if(playSound == 3){ renderer.material.mainTexture = movieTexture3; renderer.material.color = Color.white; movieTexture3.Play(); movieTexture3.loop = true; sound3.Play(); } else if(playSound == 4){ renderer.material.mainTexture = movieTexture4; renderer.material.color = Color.white; movieTexture4.Play(); movieTexture4.loop = true; sound4.Play(); } else if(playSound == 5){ renderer.material.mainTexture = movieTexture5; renderer.material.color = Color.white; movieTexture5.Play(); movieTexture5.loop = true; sound5.Play(); } } }
沒有寫錯,會 Lag 可能是電腦硬體效能不足,或檔案解析度太大,或檔案本身太大...等等,其實 Movie Texture 本身是很吃效能的,他需要將影片每一張都轉換成圖片
好的感謝~可能是我影片太大了:( 謝謝解惑:目
因為我是輸成ogv檔~檔案大多15~20MB~可是還是很當@@ 有甚麼方法嗎~或是可以匯成其他檔案格式~~~
mp4 也可以
請問一下, Javascript版本的"Rect"指的是滑鼠點擊的範圍嗎?
沒錯! 按鈕的 位置 與 大小
請問你這是用影片位址來撥放的嗎~還是要把影音檔丟到unity裡面