C#使用Windows Media Player播放音频文件

利用Windows Media Player播放音频

C#程序中:用Windows Media Player播放声音文件和视频文件 
a.工具箱->组件->(右键)选择项->COM组件->Windows Media Playe
b.把Windows Media Player控件拖放到Winform窗体中,把axWindowsMediaPlayer1中URL属性设置为MP3或是AVI的文件路径,F5运行。
使用Windows Media Player循环播放列表中的媒体文件,假设有一个播放列表,下面的代码可以实现自动循环播放
  private void axWindowsMediaPlayer1_PlayStateChange(object sender,
  AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
  {
    if (axWindowsMediaPlayer1.playState == WMPLib.WMPPlayState.wmppsMediaEnded)
     {
      Thread thread = new Thread(new ThreadStart(PlayThread));
      thread.Start();
     }
  }
  private void PlayThread() 
  {  
    axWindowsMediaPlayer1.URL = @"E:\Music\SomeOne.avi";  
    axWindowsMediaPlayer1.Ctlcontrols.play();  
  }

 

 

出处:https://blog.csdn.net/liuyuehui110/article/details/54425396

=======================================================================================

C#使用Windows Media Player播放音频文件

使用的方法:

  1. 在toolbox上点右键,选择“选择项目(Choose Items)”,切到COM页,找到 Windows Media Player, 勾选,确定
  2. 在toolbox上,把刚才加入的MediaPlayer控件,拖放到Winform上

代码:

	axWindowsMediaPlayer1.URL = "文件路径,支持网络路径";
	axWindowsMediaPlayer1.Ctlcontrols.play();

 

出处:https://blog.csdn.net/S33638555/article/details/5324968

=======================================================================================

C#调用Media Player 控件播放音乐的常用方法及属性

本文原创,转载请注明出处!

【注意】
需先在项目属性的引用的COM里面添加名为Windows Media Player、路径为C:\Windows\System32\wmp.dll引用!  引用后显示为WMPLib,然后在程序最前面加上:

using WMPLib;
//【示例】
WMPLib.WindowsMediaPlayer wmp = new WindowsMediaPlayer();
wmp.URL = @"G:\我的音乐\卓依婷 - 花好月圆.mp3";
wmp.controls.play();

 

windows media player 控件的常用属性及方法

[基本属性]   
URL; 指定媒体位置,本机或网络地址 
uiMode:String; 播放器界面模式,可为Full, Mini, None, Invisible 
playState:integer; 播放状态,1=停止,2=暂停,3=播放,6=正在缓冲,9=正在连接,10=准备就绪 
enableContextMenu:Boolean; 启用/禁用右键菜单 
fullScreen:boolean; 是否全屏显示 
windowlessVideo:boolean; 是否显示视频图像
Ctlenable:boolean;  设置控制按钮是否起作用,/* 我自己的开发环境中未找到这个属性,我的环境:win10,vs2017 */

[controls] wmp.controls //播放器基本控制 
controls.play; 播放 
controls.pause; 暂停 
controls.stop; 停止 
controls.currentPosition:double; 当前进度 
controls.currentPositionString:string; 当前进度,字符串格式。如“00:23” 
controls.fastForward; 快进 
controls.fastReverse; 快退 
controls.next; 下一曲 
controls.previous; 上一曲 
 
[settings] wmp.settings //播放器基本设置 
settings.volume:integer; 音量,0-100 
settings.autoStart:Boolean; 是否自动播放 
settings.mute:Boolean; 是否静音 
settings.playCount:integer; 播放次数 

[currentMedia] wmp.currentMedia //当前媒体属性 
currentMedia.duration:double; 媒体总长度 
currentMedia.durationString:string; 媒体总长度,字符串格式。如“03:24” 
currentMedia.getItemInfo(const string); 获取当前媒体信息"Title"=媒体标题,"Author"=艺术家,"Copyright"=版权信息,"Description"=媒体内容描述,"Duration"=持续时间(秒),"FileSize"=文件大小,"FileType"=文件类型,"sourceURL"=原始地址 
currentMedia.setItemInfo(const string); 通过属性名设置媒体信息 
currentMedia.name:string; 同 currentMedia.getItemInfo("Title") 

[currentPlaylist] wmp.currentPlaylist //当前播放列表属性 
currentPlaylist.count:integer; 当前播放列表所包含媒体数 
currentPlaylist.Item[integer]; 获取或设置指定项目媒体信息,其子属性同wmp.currentMedia

 

 

 

出处:https://blog.csdn.net/liuxianan612/article/details/7016877

=======================================================================================

个人使用

    public class WinMediaPlayer
    {
        private WMPLib.WindowsMediaPlayer player = null;

        public WinMediaPlayer()
        {
            player = new WindowsMediaPlayer();
            player.uiMode = "None"; // 播放器界面模式,可为Full, Mini, None, Invisible 
            player.enableContextMenu = false;
            player.fullScreen = false;
            player.windowlessVideo = false;
        }


        public void Play(string soundPath)
        {
            player.URL = soundPath;

            if (player.playState == WMPPlayState.wmppsMediaEnded)
            {
                if (!string.IsNullOrEmpty(player.URL))
                    player.controls.play();
            }
        }

        public void Dispose()
        {
            player.close();
        }

    }

调用方式:

Common.WinMediaPlayer winMediaPlayer = new Common.WinMediaPlayer();
winMediaPlayer?.Play(_soundPathA);
winMediaPlayer?.Play(_soundPathB);
winMediaPlayer?.Dispose();

 

 

 

=======================================================================================

 

posted on 2022-11-29 14:01  jack_Meng  阅读(1478)  评论(0编辑  收藏  举报

导航