1

「axWindowsMediaPlayer」コンポーネントを使用する音楽プレーヤーを含む Windows フォーム アプリケーションで作業しています。mp3 および wav ファイルのインポート、リスト ボックスへの曲の表示、プレイリストの保存と読み込みなどが可能です。

ここで、現在再生中の曲の経過時間を分:秒形式で表示するラベルが必要です。

どうすればいいですか?

これが私の試みの1つです:

int count = (int)axWindowsMediaPlayer.currentMedia.duration;
count--;
elapsedLbl.Text = count.ToString();

ここが私が立ち往生している場所です。

[編集]現時点では正しくフォーマットしましたが、カウントが下がらないようになりました。

4

3 に答える 3

3

Windows Media Player ActiveX コントロールを使用する場合、期間と currentPosition プロパティがあります。

AxWindowsMediaPlayer1.currentMedia.duration

AxWindowsMediaPlayer1.Ctlcontrols.currentPosition

どちらも秒単位なので、必要な形式に変換するだけです。以下を使用できます。

TimeSpan.FromSeconds(double value)

タイムスパンを作成し、そのタイムスパンで YoupTube が言及したようにフォーマットされた文字列に変換するには。または、Mark Shevchenko が述べたように、手動で秒を分と秒に変換します。

于 2015-01-14T23:30:04.500 に答える
1

何かのようなもの:

timespanVariable.ToString("mm:\\ss")

または、DateTime がある場合:

datetimeVariable.ToString("mm:ss")

Matt Johnson が述べたように、ここにリンクがあります。

于 2015-01-14T23:24:20.643 に答える
0

AxWindowsMediaPlayer オブジェクトは、currentMediaプロパティを通じて現在のメディア アイテムを取得できます。このオブジェクトにはdurationString、'HH:MM:SS' 形式を返すプロパティがあります。durationオブジェクトを使用することで、他の形式も可能です。

AxWindowsMediaPlayer ドキュメント http://msdn.microsoft.com/en-us/library/windows/desktop/dd562405(v=vs.85).aspx

IWMPMedia インターフェイス ドキュメント http://msdn.microsoft.com/en-us/library/windows/desktop/dd563397%28v=vs.85%29.aspx

于 2015-01-14T23:30:18.640 に答える