1

任何人都可以告訴我在Windows Phone 8應用程序中播放單音音頻(.mp3)文件的最佳方法嗎?想想一個鋼琴應用程序,每個按鍵都代表一個按鈕,每個按鈕都會發出不同的聲調。播放單音音頻文件的最佳方法是什麼?

我正在尋找最有效的方法來解決這個問題 - 我有8個不同的按鈕,需要點擊時播放不同的音調。

我嘗試使用MediaElement

MediaElement me; 

public MainPage() 
{ 
    InitializeComponent(); 

    me = new MediaElement(); 
    me.AutoPlay = false; 
    me.Source = new Uri("/Sounds/Sound1.mp3", UriKind.Relative); 

    btnPlay.Click += btnPlay_Click; 

} 

private void btnPlay_Click(object sender, EventArgs e) 
{ 
    me.Play(); 
} 

但沒有任何反應,無論是在模擬器或設備上(測試W/A的Lumia 822)。我在這裏做錯了什麼?它看起來應該很簡單。或者使用MediaElement甚至可以用於我的場景?

這個屬於Background Audio類別嗎?我已經讀過這個例子,但它看起來是爲了我想要做的事情。

我也看到了有關使用XNA的SoundEffect做的工作,但後來我倒是have to convert my .mp3 files to .wav(這不一定是一個問題,但我寧願不經歷,如果我不需要) 。

任何人都可以告訴我,我在做什麼我的錯誤在上面的例子或指導我一個更好的解決方案播放快速< 1S音頻?

+0

我碰到類似的問題。嘗試設置點擊處理程序中的自動播放爲true – John 2013-05-12 22:44:05

回答

3

我之前有這個問題,MediaElement不播放音頻文件。經過多次嘗試後,我發現它只在xaml中定義並且AutoPlay設置爲true時纔會播放。

嘗試在xaml中定義它,或者您可以將其添加到LayoutRoot中。

var me = new MediaElement(); 
    LayoutRoot.Children.Add(me); 
    me.AutoPlay = true; 
    me.Source = new Uri("Sound/1.mp3", UriKind.Relative); 
+0

是的,工作。謝謝!請注意,我是**不**必須將'AutoPlay'設置爲'true'。將它保留爲「false」仍然允許文件播放。 – lhan 2013-05-13 02:28:30

0

我在我的應用程序中做了這段代碼有好運。但是,在你的情況下它可能不會奏效,但儘管如此。 mediaElement.Source = new Uri(「/ Audio /」+ songID.ToString()+「.mp3」,UriKind.Relative); mediaElement.Play();