none
關於MCI偵測播放音檔的問題 RRS feed

  • 問題

  •  

    Hello 各位:

            我嘗試用MCI和C#去寫一個小的錄放音程式。現在遇到一個問題就是,

            我要如何得知一個音檔撥完了呢?因為我查了一下MSDN關於MCI的

            status指令,似乎沒有看到如何取得音檔播放狀態的偵測,是否各位有

            一些提示或是建議嗎?

    2008年7月30日 上午 08:36

所有回覆

  •  chaoyuantu 寫信:

     

    Hello 各位:

            我嘗試用MCI和C#去寫一個小的錄放音程式。現在遇到一個問題就是,

            我要如何得知一個音檔撥完了呢?因為我查了一下MSDN關於MCI的

            status指令,似乎沒有看到如何取得音檔播放狀態的偵測,是否各位有

            一些提示或是建議嗎?

     

    有的,請參考程式碼。

     

    mciSendString "status MyWav mode", S, Len(S), 0

    If Left(S, 7) = "stopped" Or Left(S, 2) = "停止" Then

    ...

    endif

    2008年7月31日 上午 01:46
  • HI,

     

    查詢播放狀態可以利用NOTIFY功能來完成, 請參考:

    http://msdn.microsoft.com/en-us/library/ms713401(VS.85).aspx

     

    tihs

    2008年7月31日 上午 07:03
  • Code Snippet

    private bool PlayingStatus()
      {
       
       string strCommand = "status MediaFile mode";
       mciSendString(strCommand, returnData, 128, IntPtr.Zero);

       if (returnData.ToString().Substring(0,7) == "playing")
        return true;
       else
        return false;
      }

     

     

    這是我根據您的建議寫的查詢播放狀態的函式,不過我的returnData的回傳值一直都是null,這是我不解的地方,所以可以給我些提示嗎?
    2008年8月12日 上午 09:23
  • 感謝您的回覆,不過是否可以給我一些提示或是範例參考呢?因為我不太清楚該怎麼用C#來使用NOTIFY的部分。

     

    2008年8月12日 上午 09:28