第02回 ループ再生する

前回「第01回 プロジェクト作成と曲再生」作成したものは、1曲を1度だけ再生するものでした。
今回は曲の再生が終わったら、再び再生するようにします。

今後シークバーを追加することも考え、簡単にタイマーを使って実現します。
Windows Media Playerの再生状況はplayStateで参照でき、これがWMPPlayState.wmppsStoppedになっていたら、再度再生するという単純なものです。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using WMPLib;

namespace MP3Player
{
	public partial class Form1 : Form
	{
		WindowsMediaPlayer _mediaPlayer = new WindowsMediaPlayer();

		Timer _timer = new Timer();		//追加

		public Form1()
		{
			InitializeComponent();


			//以下を追加
			_timer.Interval = 300;			//300msecごとに処理を実行
			_timer.Tick += delegate
			{
				//止まっていたら再び再生
				if (_mediaPlayer.playState == WMPPlayState.wmppsStopped)
				{
					_mediaPlayer.controls.play();
				}
			};
			_timer.Start();


			_mediaPlayer.settings.volume = 20;
			_mediaPlayer.URL = @"G:\Desktop\mp3\コレサワ - 君のバンド\01 君のバンド.mp3";
			_mediaPlayer.controls.play();
		}
	}
}

プロジェクトファイルをダウンロード


カテゴリー「MP3プレーヤーを作る(C#)」 のエントリー