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

时间:2013-09-28 16:51:59

标签: c# audio winmm

我使用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;

    }
}

1 个答案:

答案 0 :(得分:0)

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

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

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;
    }
}