Windows Phone 播放音頻之SoundEffect

來源:互聯網
上載者:User

  前面介紹了Windows Phone 錄製音頻和Windows Phone 儲存錄音,錄製的音頻儲存為WAV格式。在Windows Phone中播放音訊方式有很多種,下面就介紹一種專一用於播放WAV格式的播放方式。需要用到SoundEffect和SoundEffectInstance兩個類,這兩個類屬於 XNA Framework ,所以需要添加引用 Microsoft.Xna.Framework。
  1.同錄製音頻一樣需要透過指定一個定期執行 FrameworkDispatcher.Update() 的事件。  

        //設定定時器
DispatcherTimer timer = new DispatcherTimer();
timer.Interval = TimeSpan.FromMilliseconds(33);
timer.Tick += delegate { try { FrameworkDispatcher.Update(); } catch { } };
timer.Start();

  2.擷取WAV檔案流,用於建立SoundEffect對象。

        //擷取WAV檔案流
Stream stream = null;
//如果是資源檔處理
StreamResourceInfo info = Application.GetResourceStream(new Uri(path, UriKind.Relative));
if (info != null)
{
stream = info.Stream;
}
//如果是隔離儲存區 (Isolated Storage)檔案處理
using (IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication())
{
//開啟檔案
stream = myIsolatedStorage.OpenFile(path, FileMode.Open, FileAccess.Read);
}

  3.建立SoundEffect對象,播放音頻。

        //建立音頻播放執行個體
SoundEffect sound = SoundEffect.FromStream(stream);
SoundEffectInstance soundInstance = sound.CreateInstance();
//設定迴圈播放
soundInstance.IsLooped = true;
//啟動播放
soundInstance.Play();

  4.音頻暫停,複位,停止。

        //暫停
soundInstance.Pause();
//複位
soundInstance.Resume();
//停止
soundInstance.Stop();

  5.設定音頻播放的音量。

        //音量取值範圍為[0,1],預設值為0.85
soundInstance.Volume = 0.5F;

  使用SoundEffect和SoundEffectInstance方式只能播放WAV格式的音頻,並且還需要引入XNA庫。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.