none
在PDA上如何用SoundPlayer播放網路上的WAV檔? RRS feed

  • 問題

  • using OpenNETCF.Media;

    private void button2_Click(object sender, EventArgs e)
            {
                SoundPlayer play = new SoundPlayer();
                play.SoundLocation = "http://xxx.xxx.xxx.xxx:8080/WindowsApplication1/aaa.wav";
                play.PlayLooping();
            }

    我目前用C#寫這樣,可以執行會有"嗡嗡嗡"的聲音,我想應該是沒有讓記憶體去下載網路上的WAV檔的關係
    可是我在網路上找不到怎樣設置,請求高手幫忙!!!!


    我有看過這篇範例http://msdn.microsoft.com/zh-tw/library/system.media.soundplayer(VS.80).aspx
    身為菜鳥,看不懂= =a

    拜託各位幫忙!

    2009年4月25日 上午 09:29

解答

  •  Dim m As New System.Media.SoundPlayer
            m.SoundLocation = "http://billor.chsh.chc.edu.tw/sound/ccheer.wav"
            m.LoadAsync()
            m.Play()

    測看看,我用模擬器測是沒問題
    • 已提議為解答 試用版已過期 2009年5月4日 上午 01:01
    • 已取消提議為解答 2009年5月4日 上午 08:20
    • 已提議為解答 bauannModerator 2009年5月9日 上午 11:59
    • 已標示為解答 bauannModerator 2009年5月15日 下午 02:52
    2009年5月1日 下午 04:31
  • System.Media是compact framework 3.5裡面的,如果你是用compact framework 2.0就會沒有了;我不確定OpenNetCF的SoundLocation可不可以直接設定成http://....,依照opennetcf上面的說明來看,如果載入錯誤的話是會用系統預設的beep聲代替,可能就是你聽到的嗡嗡嗡。我看opennetcf另外有提供一個stream的屬性,也許可以改用這個來測試看看。
    態度決定一切 ! - blog : http://bauann-makeit.blogspot.com/
    2009年5月4日 下午 05:05
    版主

所有回覆

  • Hi,
    你參考的資料是MSDN上對於.net framework的說明(沒有支援compact framework),而你用的東西是opennetcf的,文件的話應該要參考下面這邊才對
    http://www.opennetcf.com/library/sdf/

    另外我看你是直接播http上面的檔案,在mobile上應該是不支援這樣的方式(不是很確定,我記得看過只能撥mms:的串流,你可以搜尋一下論壇);我想你可以測試看看將檔案改成放在儲存卡上的檔案,之後測試播放,看看是不是能正常動作。

    而如果音訊檔案一定非得用http的方式不可,就要考慮把檔案下載回來,之後再進行播放了。
    態度決定一切 ! - blog : http://bauann-makeit.blogspot.com/
    2009年4月27日 下午 04:11
    版主
  • 謝謝
    不過我在PDA上IE試過HTTP是可以播放的
    我在試試用Media Player撥看看好了
    不行也只好用
    下載之後再進行播放
    2009年4月29日 上午 12:16
  •  Dim m As New System.Media.SoundPlayer
            m.SoundLocation = "http://billor.chsh.chc.edu.tw/sound/ccheer.wav"
            m.LoadAsync()
            m.Play()

    測看看,我用模擬器測是沒問題
    • 已提議為解答 試用版已過期 2009年5月4日 上午 01:01
    • 已取消提議為解答 2009年5月4日 上午 08:20
    • 已提議為解答 bauannModerator 2009年5月9日 上午 11:59
    • 已標示為解答 bauannModerator 2009年5月15日 下午 02:52
    2009年5月1日 下午 04:31
  • 謝謝
    可是我適用C#語法寫的
    PDA上似乎沒有System.Media的參考
    看了http://www.opennetcf.com/library/sdf/
    上面好像沒有使用新的執行緒,從資料流或 Web 資源載入 .wav 檔。這種方法耶!

    我把你的改成
    using OpenNETCF.Media;

    SoundPlayer play = new SoundPlayer();
                play.SoundLocation="http://billor.chsh.chc.edu.tw/sound/ccheer.wav";
                play.PlayLooping();
                play.Play();
    或是
    using OpenNETCF.Media;

    SoundPlayer play = new SoundPlayer();
                play.SoundLocation = "http://billor.chsh.chc.edu.tw/sound/ccheer.wav";
                play.PlaySync();
                play.Play();

    依然沒辦法播放
    2009年5月4日 上午 08:27
  • System.Media是compact framework 3.5裡面的,如果你是用compact framework 2.0就會沒有了;我不確定OpenNetCF的SoundLocation可不可以直接設定成http://....,依照opennetcf上面的說明來看,如果載入錯誤的話是會用系統預設的beep聲代替,可能就是你聽到的嗡嗡嗡。我看opennetcf另外有提供一個stream的屬性,也許可以改用這個來測試看看。
    態度決定一切 ! - blog : http://bauann-makeit.blogspot.com/
    2009年5月4日 下午 05:05
    版主
  • 謝謝!
    我再試看看
    如果不可以,大概也要採用下載下來再進行播放了...
    2009年5月4日 下午 05:09
  • Hi,

    CF 3.5 裡面的 System.Media.SoundPlayer 支援音聲設定來源為 http://xxxxxx

    System.Media.SoundPlayer sp = new System.Media.SoundPlayer();
    sp.SoundLocation = http://xxxxxxx/1.wav;
    sp.LoadAsync();
    sp.Play();
    每天都有進步的人值得敬重
    2009年7月21日 上午 08:28