歌曲信息检索

时间:2014-03-28 10:52:00

标签: c# audio mci

我正在尝试从C#中的.mp3文件中检索音频播放器的详细信息。

代码片段:

[DllImport("winmm.dll")]

private static extern long mciSendString(string strCommand, StringBuilder strReturn, int iReturnLength, IntPtr hwndCallback);

public static void Close()
{
    _command = "close MediaFile";
    mciSendString(_command, null, 0, IntPtr.Zero);
    isOpen = false;
}

public static void Open(string sFileName)
{
    _command = "open \"" + sFileName + "\" type mpegvideo alias MediaFile";
    mciSendString(_command, null, 0, IntPtr.Zero);
    isOpen = true;
}

public static void Play(bool loop)
{
    if (isOpen)
    {
        _command = "play MediaFile";
        if (loop)
            _command += " REPEAT";
        mciSendString(_command, null, 0, IntPtr.Zero);
    }
}

我的问题是:

  • 我如何设定歌曲的音量?
  • 我如何获得歌曲的比特率/采样率?

我更喜欢使用MCI或NAudio,因为我知道它们的可靠性。

1 个答案:

答案 0 :(得分:1)

设置音量:

string command = "setaudio MediaFile volume to " + volume.ToString();
error = mciSendString(Pcommand, null, 0, IntPtr.Zero);

其中volume是0到1000之间的int

msdn上的多媒体参考中有一个完整的mci命令字符串列表:
set command

在CodeProject上还有一个很好的示例项目可以完成您尝试执行的大部分操作: Simple MCI Player

HTH