none
WindowsMediaPlayerでフォルダ内のファイルを順番に再生(シャッフル再生)する方法 RRS feed

  • 質問

  • WindowsMediaPlayerでFolderBrowserDialogで選択したフォルダの中の複数の音楽ファイル(mp3など)を順番に再生したり、シャッフル再生したりするにはどうしたらいいですか?

    選択したフォルダ内のファイルパスをListBoxに出力するところまではできるのですが、そこから先がわかりません…

    色々調べて試しましたが、どれもうまく行きませんでした。

    どなたかご教授くださると嬉しいです。

    C#、VS2017、WindowsFormで制作しています。

    2018年5月13日 10:18

回答

  • 下記のように、プレイリストを作成して shuffle モードにすることでシャッフル再生することができます。

    // プレイリストを作成
    WMPLib.IWMPPlaylist playlist = axWindowsMediaPlayer1.playlistCollection.newPlaylist("myplaylist");
    
    // リストボックスの音楽ファイルをプレイリストに追加
    foreach (string filepath in listBox1.Items)
    {
        WMPLib.IWMPMedia media = axWindowsMediaPlayer1.newMedia(filepath);
        playlist.appendItem(media);
    }
    
    // プレイリストをメディアプレイヤーに設定
    axWindowsMediaPlayer1.currentPlaylist = playlist;
    
    // シャッフル再生する場合は true。しない場合は false。
    axWindowsMediaPlayer1.settings.setMode("shuffle", true);
    
    // 再生
    axWindowsMediaPlayer1.Ctlcontrols.play();

    参考サイト: https://stackoverflow.com/questions/28997387/adding-a-shuffle-to-a-wmplib-playlist

    • 編集済み kenjinoteMVP 2018年5月13日 11:06
    • 回答としてマーク WPF開発 2018年5月18日 11:59
    2018年5月13日 10:59
  • TAKA56 さん、こんにちは。フォーラム オペレーターの立花です。
    MSDN フォーラムへご投稿くださいましてありがとうございます。

    フォーラム オペレーターからお願いをさせてください。

    ご質問に対して、参考となる情報をいただいた場合は、その投稿に対して
    [回答としてマーク] をご設定ください。
    同じ問題であとから参照した方がすぐに情報にたどり着けるようになりますので
    ご協力の程、どうぞよろしくお願いいたします。

    フォーラム利用時の注意点のお知らせです。
    ※初めてご投稿された方を対象にお知らせしています。

    ご利用の際は、下記内容をお守りいただきますと
    情報が寄せられやすくなりますので、ぜひご一読ください。
    フォーラムでご質問頂くにあたっての注意点
    フォーラムのご利用方法(質問の投稿)について
    フォーラムへの回答に関するガイドラインおよびフォーラム運営について(再掲)
    ご意見、ご要望はこちらのフォーラムまで。
    各種設定方法はフォーラム内を [かんたん フォーラム ガイド] で検索してみてください。


    参考になった投稿には回答としてマークの設定にご協力ください
    MSDN/TechNet Community Support 立花楓

    • 回答としてマーク WPF開発 2018年5月18日 11:59
    2018年5月14日 0:33
    モデレータ
  • 別の質問は分けましょう。
    当初のタイトルとも一致しませんし、時間も経過しているため。
    • 回答としてマーク WPF開発 2018年6月10日 9:30
    2018年6月10日 8:12
    モデレータ

すべての返信

  • 下記のように、プレイリストを作成して shuffle モードにすることでシャッフル再生することができます。

    // プレイリストを作成
    WMPLib.IWMPPlaylist playlist = axWindowsMediaPlayer1.playlistCollection.newPlaylist("myplaylist");
    
    // リストボックスの音楽ファイルをプレイリストに追加
    foreach (string filepath in listBox1.Items)
    {
        WMPLib.IWMPMedia media = axWindowsMediaPlayer1.newMedia(filepath);
        playlist.appendItem(media);
    }
    
    // プレイリストをメディアプレイヤーに設定
    axWindowsMediaPlayer1.currentPlaylist = playlist;
    
    // シャッフル再生する場合は true。しない場合は false。
    axWindowsMediaPlayer1.settings.setMode("shuffle", true);
    
    // 再生
    axWindowsMediaPlayer1.Ctlcontrols.play();

    参考サイト: https://stackoverflow.com/questions/28997387/adding-a-shuffle-to-a-wmplib-playlist

    • 編集済み kenjinoteMVP 2018年5月13日 11:06
    • 回答としてマーク WPF開発 2018年5月18日 11:59
    2018年5月13日 10:59
  • TAKA56 さん、こんにちは。フォーラム オペレーターの立花です。
    MSDN フォーラムへご投稿くださいましてありがとうございます。

    フォーラム オペレーターからお願いをさせてください。

    ご質問に対して、参考となる情報をいただいた場合は、その投稿に対して
    [回答としてマーク] をご設定ください。
    同じ問題であとから参照した方がすぐに情報にたどり着けるようになりますので
    ご協力の程、どうぞよろしくお願いいたします。

    フォーラム利用時の注意点のお知らせです。
    ※初めてご投稿された方を対象にお知らせしています。

    ご利用の際は、下記内容をお守りいただきますと
    情報が寄せられやすくなりますので、ぜひご一読ください。
    フォーラムでご質問頂くにあたっての注意点
    フォーラムのご利用方法(質問の投稿)について
    フォーラムへの回答に関するガイドラインおよびフォーラム運営について(再掲)
    ご意見、ご要望はこちらのフォーラムまで。
    各種設定方法はフォーラム内を [かんたん フォーラム ガイド] で検索してみてください。


    参考になった投稿には回答としてマークの設定にご協力ください
    MSDN/TechNet Community Support 立花楓

    • 回答としてマーク WPF開発 2018年5月18日 11:59
    2018年5月14日 0:33
    モデレータ
  • ありがとうございます!

    できました!

    • 編集済み WPF開発 2018年5月18日 12:00
    2018年5月18日 11:59
  • プレイリストを特定のディレクトリ(exeファイルと同じ場所)に作成する場合はどうすればいいですか?
    2018年6月10日 7:25
  • 別の質問は分けましょう。
    当初のタイトルとも一致しませんし、時間も経過しているため。
    • 回答としてマーク WPF開発 2018年6月10日 9:30
    2018年6月10日 8:12
    モデレータ