0

基本的な mp3 プレーヤーを作成するために winmm.dll を使用しています。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;

    }
}
4

1 に答える 1

0

ああ、コードをループから取り出したときに機能するようになりました....

私の解決策:スキップ機能は最適ではありませんが、少なくとも私が探していたものを実行しています。より良いスキップを計算するには、将来タイマーを追加する必要があると思います。

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;
    }
}
于 2013-09-28T19:09:05.440 に答える