歌曲信息检索

本文关键字:信息检索 | 更新日期: 2023-09-27 17:54:38

我正在尝试从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,因为我知道它们的可靠性。

歌曲信息检索

设置音量:

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

,其中volume是0到1000之间的整数

在msdn的多媒体参考中有一个完整的mci命令字符串列表:
设置命令

在CodeProject上也有一个很好的例子项目,它做了你想做的大部分事情:简易MCI播放器

HTH

保罗