1

MCI を使用して CD オーディオ プレーヤー プログラムを作成していますが、オーディオ ファイルの進行状況をトラック バーに表示できません。

誰も方法を知っていますか?

mciSendStringトラックの長さを取得するために使用する必要があることに注意してください。

4

2 に答える 2

0

Simple MCI Playerから-CodeProject、わずかに変更:

public int GetCurrentPosition()
{
    String command = "status MediaFile position";
    error = mciSendString(command, returnData, 
                          returnData.Capacity, IntPtr.Zero);
    return error == 0 ? int.Parse(returnData.ToString()) : 0;
}

public int GetSongLenght()
{
    if (IsPlaying())
    {
        String command = "status MediaFile length";
        error = mciSendString(command, returnData, returnData.Capacity, IntPtr.Zero);
        return error == 0 ? int.Parse(returnData.ToString()) : 0;
    }
    else
        return 0;
}
于 2012-10-12T10:22:54.440 に答える
0

VBでは、Timer Tick Sub内でこれを行いました...本当に簡単です...

rem audio は mcisendstring です。 rem TotalLength は現在のトラックの合計秒数です。

    Dim PlayPosition As Long = 0

    PlayPosition = audio.SecondsPlayed
    If PlayPosition > 0 And PlayPosition < TotalLength Then
        TrackBar1.Value = (PlayPosition / TotalLength) * TotalLength
    End If
于 2015-03-13T18:20:26.750 に答える