C# winmm.dll mp3播放器快进方法

本文关键字:方法 播放器 mp3 winmm dll | 更新日期: 2023-09-27 18:33:05

我正在使用winmm.dll来制作基本的mp3播放器。 我的FFW方法有点问题。基本上当我激活它时什么都没有发生。

你可能知道我想做什么。

前 6 行注释掉,拿着一个工作示例代码,运行我的循环时它对我不起作用,我做错了什么?

public void FFW()
{
    //string cmd1 = "set MyMp3 time format ms";
    //mciSendString(cmd1, null, 0, 0);
    //cmd1 = "seek MyMp3 to 8000";
    //mciSendString(cmd1, null, 0, 0);
    //cmd = "play MyMp3";
    //mciSendString(cmd, null, 0, 0);
    int ffw5sec = 5000;
    while (isPlaying == true)
    {
        string cmd = "set MyMp3 time format ms";
        mciSendString(cmd, null, 0, 0);
        cmd = "seek MyMp3 to " + ffw5sec.ToString();
        mciSendString(cmd, null, 0, 0);
        cmd = "play MyMp3";
        mciSendString(cmd, null, 0, 0);
        ffw5sec += 5000;
    }
}

C# winmm.dll mp3播放器快进方法

哦,当我从循环中取出代码时,我让它工作了......

我的解决方案: 跳过功能不是最佳的,但至少它做了我一直在寻找的东西,我想我需要在将来添加一个计时器,以计算更好的跳过。

int ffw5sec = 5000;
public void FFW()
{
    if(isPlaying == true)
    {
        string cmd = "set MyMp3 time format ms";
        mciSendString(cmd, null, 0, 0);
        cmd = "seek MyMp3 to " + ffw5sec.ToString();
        mciSendString(cmd, null, 0, 0);
        cmd = "play MyMp3";
        mciSendString(cmd, null, 0, 0);
        ffw5sec += 5000;
    }
}