C# axWindowsMediaPlayer制作播放器
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace VideoGoogle
{
//选择菜单中的“工具”--“自定义工具箱”,打开“自定义工具箱”窗口,在“COM 组件”中选择“Windows Media Player”播放器和
//“Shockwave Flash Object”flash播放器
public partial class Form1 : Form
{
private static string PathBase = System.AppDomain.CurrentDomain.BaseDirectory;//目录
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//this.axWindowsMediaPlayer1.uiMode = "none";//右键axWindowsMediaPlayer1--属性--常规--控件布局--选择模式--None
this.tbarVolume.Minimum = 0; //設定音量調整Bar最小值為最小音量值(0)
this.tbarVolume.Maximum = 100; //設定音量調整Bar最大值為最大音量值(100)
this.tbarVolume.Value = this.axWindowsMediaPlayer1.settings.volume;
}
//打开
private void button5_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
//设置为可以打开多个文件
openFileDialog.Multiselect = true;
//设置打开文件格式
openFileDialog.Filter = "Mp3文件|*.mp3|Wav文件|*.wav|Wma文件|*.wma|Wmv文件|*.wmv|所有格式|*.*";
//判断是否单击确定按钮
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
//建立播放列表,名字为aa
axWindowsMediaPlayer1.currentPlaylist = axWindowsMediaPlayer1.newPlaylist("aa", "");
//遍历打开的集合
foreach (string fn in openFileDialog.FileNames)
{
//添加播放列表
axWindowsMediaPlayer1.currentPlaylist.appendItem(axWindowsMediaPlayer1.newMedia(fn));
}
}
//播放
axWindowsMediaPlayer1.Ctlcontrols.play();
}
//播放视频
private void button1_Click(object sender, EventArgs e)
{
string Path = PathBase + "航架2.mpg";
this.axWindowsMediaPlayer1.URL = Path;
this.axWindowsMediaPlayer1.Ctlcontrols.play();
}
//播放MP3
private void button4_Click(object sender, EventArgs e)
{
OpenFileDialog openFile = new OpenFileDialog();
openFile.Filter = "mp3文件|*.mp3";
if (DialogResult.OK == openFile.ShowDialog())
{
axWindowsMediaPlayer1.URL = openFile.FileName;
}
}
//设置
private void button6_Click(object sender, EventArgs e)
{
string Duration = this.axWindowsMediaPlayer1.currentMedia.getItemInfo("Duration");//持续时间(秒)
string Title = this.axWindowsMediaPlayer1.currentMedia.getItemInfo("Title");//媒体标题
string Author = this.axWindowsMediaPlayer1.currentMedia.getItemInfo("Author");//艺术家
string Copyright = this.axWindowsMediaPlayer1.currentMedia.getItemInfo("Copyright");//版权信息
string Description = this.axWindowsMediaPlayer1.currentMedia.getItemInfo("Description");//媒体内容描述
string FileSize = this.axWindowsMediaPlayer1.currentMedia.getItemInfo("FileSize");//文件大小
string FileType = this.axWindowsMediaPlayer1.currentMedia.getItemInfo("FileType");//文件类型
string sourceURL = this.axWindowsMediaPlayer1.currentMedia.getItemInfo("sourceURL");//原始地址
MessageBox.Show("持续时间:"+Duration+"||"+"媒体标题:"+Title+"||"+"艺术家:"+Author+"||"+"版权信息:"+Copyright+"||"+"媒体内容描述:"+Description+"||"+"文件大小:"+FileSize+"||"+"文件类型:"+FileType+"||"+"原始地址:"+sourceURL);
string name = this.axWindowsMediaPlayer1.currentMedia.name;
string url = this.axWindowsMediaPlayer1.currentMedia.sourceURL;
//设置
//this.axWindowsMediaPlayer1.currentMedia.setItemInfo("Title", "航架");
this.axWindowsMediaPlayer1.settings.balance = 0;//表示媒体播放的声道设置,0表示均衡,-1和1表示左右声道
double rate = this.axWindowsMediaPlayer1.settings.rate;//播放速率,一般乘以16后再显示kbps单位.
//this.axWindowsMediaPlayer1.currentMedia.setItemInfo("rate", "2");
}
//打开Flash
private void button2_Click(object sender, EventArgs e)
{
OpenFileDialog ofDialog = new OpenFileDialog();
ofDialog.AddExtension = true;
ofDialog.CheckFileExists = true;
ofDialog.CheckPathExists = true;
ofDialog.Filter = "Flash文件(*.swf)|*.swf|所有文件(*.*)|*.*"; ;// "swf 文件 (*.swf)|*.swf|所有文件 (*.*)|*.*";
ofDialog.DefaultExt = "mp3";
if (ofDialog.ShowDialog() == DialogResult.OK)
{
this.axShockwaveFlash1.Movie = ofDialog.FileName;
}
//==========================================
//openFileDialog1.Filter = "Flash文件(*.swf)|*.swf|所有文件(*.*)|*.*";
//if (openFileDialog1.ShowDialog() == DialogResult.OK)
//{
// string MyFileName = openFileDialog1.FileName;
// this.axShockwaveFlash1.Movie = MyFileName;
//}
}
//Flash
private void button3_Click(object sender, EventArgs e)
{
this.axShockwaveFlash1.Stop();//暂停播放
this.axShockwaveFlash1.Rewind();//播放第一帧
this.axShockwaveFlash1.Back();//播放上一帧
this.axShockwaveFlash1.Forward();//开始播放
this.axShockwaveFlash1.Rewind();//播放下一帧
this.axShockwaveFlash1.Play();//播放下一帧
}
//play
private void playToolStripMenuItem_Click(object sender, EventArgs e)
{
axWindowsMediaPlayer1.Ctlcontrols.play();
}
//pause
private void pauseToolStripMenuItem_Click(object sender, EventArgs e)
{
axWindowsMediaPlayer1.Ctlcontrols.pause();
}
//stop
private void stopToolStripMenuItem_Click(object sender, EventArgs e)
{
axWindowsMediaPlayer1.Ctlcontrols.stop();
}
//open
private void openToolStripMenuItem_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
//设置为可以打开多个文件
openFileDialog.Multiselect = true;
//设置打开文件格式
openFileDialog.Filter = "Mp3文件|*.mp3|Wav文件|*.wav|Wma文件|*.wma|Wmv文件|*.wmv|所有格式|*.*";
//判断是否单击确定按钮
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
//建立播放列表,名字为aa
axWindowsMediaPlayer1.currentPlaylist = axWindowsMediaPlayer1.newPlaylist("aa", "");
//遍历打开的集合
foreach (string fn in openFileDialog.FileNames)
{
//添加播放列表
axWindowsMediaPlayer1.currentPlaylist.appendItem(axWindowsMediaPlayer1.newMedia(fn));
}
}
//播放
axWindowsMediaPlayer1.Ctlcontrols.play();
}
//exit
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}
//上一个
private void toolStripButton1_Click(object sender, EventArgs e)
{
axWindowsMediaPlayer1.Ctlcontrols.previous();
}
//播放
private void toolStripButton2_Click(object sender, EventArgs e)
{
axWindowsMediaPlayer1.Ctlcontrols.play();
}
//下一个
private void toolStripButton3_Click(object sender, EventArgs e)
{
axWindowsMediaPlayer1.Ctlcontrols.next();
}
//暂停
private void toolStripButton4_Click(object sender, EventArgs e)
{
axWindowsMediaPlayer1.Ctlcontrols.pause();
}
//停止
private void toolStripButton5_Click(object sender, EventArgs e)
{
axWindowsMediaPlayer1.Ctlcontrols.stop();
}
//进度
private void timer1_Tick(object sender, EventArgs e)
{
double total=0.0d;
if (this.axWindowsMediaPlayer1.currentMedia != null)
{
total = Math.Ceiling(this.axWindowsMediaPlayer1.currentMedia.duration);
this.tbarPlayLoaction.Maximum = (int)this.axWindowsMediaPlayer1.currentMedia.duration;//設定撥放位置調整Bar最大值
}
double cur = Math.Floor(this.axWindowsMediaPlayer1.Ctlcontrols.currentPosition);
if (total != 0)
{
this.progressBar1.Value = (int)(cur / total *100);
this.label1.Text = cur.ToString()+"s" + "/" + total.ToString()+"s";
this.tbarPlayLoaction.Value = (int)(cur / total * total);
}
//---------------------------------
////循环播放
//if (axWindowsMediaPlayer1.playState == WMPLib.WMPPlayState.wmppsStopped)
//{
// axWindowsMediaPlayer1.Ctlcontrols.play();
//}
}
//快进
private void button7_Click(object sender, EventArgs e)
{
this.axWindowsMediaPlayer1.Ctlcontrols.fastForward();
}
//快退
private void button8_Click(object sender, EventArgs e)
{
this.axWindowsMediaPlayer1.Ctlcontrols.fastReverse();
}
//自动播放
private void autoStartToolStripMenuItem_Click(object sender, EventArgs e)
{
if (this.autoStartToolStripMenuItem.Checked)
{
this.axWindowsMediaPlayer1.settings.autoStart = true;
}
}
//播放
private void toolStripButton6_Click(object sender, EventArgs e)
{
this.axWindowsMediaPlayer1.Ctlcontrols.play();
}
//暂停
private void toolStripButton7_Click(object sender, EventArgs e)
{
this.axWindowsMediaPlayer1.Ctlcontrols.pause();
}
//显示当前音量
private void toolStripButton8_Click(object sender, EventArgs e)
{
int volume=this.axWindowsMediaPlayer1.settings.volume;
MessageBox.Show("音量:"+volume.ToString());
//this.axWindowsMediaPlayer1.currentMedia.setItemInfo("volume", "60");
}
//改变音量大小
private void tbarVolume_Scroll(object sender, EventArgs e)
{
this.axWindowsMediaPlayer1.settings.volume = this.tbarVolume.Value; //改變音量大小
}
//音量打下++
private void button9_Click(object sender, EventArgs e)
{
this.axWindowsMediaPlayer1.settings.volume += 1; //音量大小+1
int volume = this.axWindowsMediaPlayer1.settings.volume;
this.tbarVolume.Value = volume;
}
//音量大小--
private void button10_Click(object sender, EventArgs e)
{
this.axWindowsMediaPlayer1.settings.volume -= 1; //音量大小-1
int volume = this.axWindowsMediaPlayer1.settings.volume;
this.tbarVolume.Value = volume;
}
//播放位置
private void tbarPlayLoaction_Scroll(object sender, EventArgs e)
{
this.axWindowsMediaPlayer1.Ctlcontrols.currentPosition = tbarPlayLoaction.Value;
}
//循环播放
private void loopToolStripMenuItem_Click(object sender, EventArgs e)
{
if (this.loopToolStripMenuItem.Checked)
{
////第一种:
//if (axWindowsMediaPlayer1.playState == WMPLib.WMPPlayState.wmppsStopped)
//{
// axWindowsMediaPlayer1.Ctlcontrols.play();
//}
////第二种:
axWindowsMediaPlayer1.settings.setMode("loop", true);
}
}
}
}
C# axWindowsMediaPlayer制作播放器的更多相关文章
- 原生js制作播放器
以前 就想做一个播放器,一直没狠下心来,今天终于狠下心来,把这个做出来了(因为有点无聊) 做这个播放器 也百度了一下, 你叫我做,我肯定做不出来, 就算用jquery 我也做不出来. 以前也用过a ...
- 使用react native制作的一款网络音乐播放器
使用react native制作的一款网络音乐播放器 基于第三方库 react-native-video设计"react-native-video": "^1.0.0&q ...
- QT制作一个图片播放器
前言:使用qt制作了一个简单的图片播放器,可以播放gif.png等格式图片 先来看看播放器的功能(当然是很简陋的,没有很深入的设计): 1.点击图片列表中图片进行播放. 2.自动播放,播放的图片的间隔 ...
- JavaCV 学习(二):使用 JavaCV + FFmpeg 制作拉流播放器
一.前言 在 Android 音视频开发学习思路 中,我们不断的学习和了解音视频相关的知识,随着知识点不断的学习,我们现在应该做的事情,就是将知识点不断的串联起来.这样才能得到更深层次的领悟.通过整理 ...
- HTML+纯JS制作音乐播放器
该篇文章会教你通过JavaScript制作一个简单的音乐播放器.包括播放.暂停.上一曲和下一曲. 阅读本文章你需要对HTML.CSS和Javascript有基本的了解. 话不多说,先上图. emmm. ...
- 使用 原生js 制作插件 (javaScript音乐播放器)
1.引用页面 index.html <!DOCTYPE html> <html lang="en"> <head> <meta chars ...
- 使用AVPlayer制作一个播放器
代码地址如下:http://www.demodashi.com/demo/11685.html AVPlayer 是一个强大的视频播放器,可以播放多种格式的视频,缺点是没有控制界面,需要自己去实现. ...
- Swift - 制作一个在线流媒体音乐播放器(使用StreamingKit库)
在之前的文章中,我介绍了如何使用 AVPlayer 制作一个简单的音乐播放器(点击查看1.点击查看2).虽然这个播放器也可以播放网络音频,但其实际上是将音频文件下载到本地后再播放的. 本文演示如何使用 ...
- 使用LM386制作Arduino音乐播放器
在我们的项目中添加声音或音乐总是会使其看起来更酷一些,听上去更有吸引力.特别是如果您使用的是Arduino开发板,并且有很多空余的引脚,只需要添加一个SD卡模块和一个普通的扬声器即可轻松添加音效.在本 ...
随机推荐
- vue-component=>v-on
$emit 返回 shouldPropagate,shouldPropagate 是一个布尔值,取决于父链上的是否存在该事件的监听器以及,事件处理程序返回的值.他决定 $dispatch 是否停止冒泡 ...
- 在submit_bio处使用stapn
想着在submit_bio的地方,发现在guru模式下,stap是经常性地把内核整挂呀,不得已,也没有发现stap什么比较好的调试方法,所以索性直接使用stap的语法了,但是发现有问题呢,有的时候bv ...
- 【AtCoder ARC076】F Exhausted? 霍尔定理+线段树
题意 N个人抢M个椅子,M个椅子排成一排 ,第i个人只能坐[1,Li]∪[Ri,M],问最多能坐多少人 $i$人连边向可以坐的椅子构成二分图,题意即是求二分图最大完美匹配,由霍尔定理,答案为$max( ...
- 【bzoj3653】谈笑风生 DFS序+树状数组
题目描述 给出一棵以1为根的有根树,q次询问,每次询问给出a和k,求点对 (b,c) 的数目,满足:a.b.c互不相同,b与a距离不超过k,且a和b都是c的祖先. 输入 输入文件的第一行含有两个正整数 ...
- HTML5<canvas>标签:使用canvas元素在网页上绘制四分之一圆(3)
前几天自己做了个四分之一的圆,放到手机里面测试.效果不是很好.于是今天通过查资料,找到了canvas.自己研究了一天,发现可以使用canvas画圆.代码如下: <!doctype html> ...
- 【题解】NOI2009管道取珠
又是艰难想题的一晚,又是做不出来的一题 (:д:) 好想哭啊…… 这题最关键的一点还是提供一种全新的想法.看到平方和这种东西,真的不好dp.然而我一直陷在化式子的泥潭中出不来.平方能够联想到什么?原本 ...
- [洛谷P1640][SCOI2010]连续攻击游戏
题目大意:有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示.每种装备最多只能使用一次,且只能使用其中一种属性.装备所使用的属性值必须从1开始连续.问最多能攻击多少次? ...
- [Leetcode] Convert sorted list to binary search tree 将排好的链表转成二叉搜索树
---恢复内容开始--- Given a singly linked list where elements are sorted in ascending order, convert it to ...
- BZOJ 2707: [SDOI2012]走迷宫 拓扑+高斯消元+期望概率dp+Tarjan
先Tarjan缩点 强连通分量里用高斯消元外面直接转移 注意删掉终点出边和拓扑 #include<cstdio> #include<cstring> #include<a ...
- POJ3169:Layout(差分约束)
Layout Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 15705 Accepted: 7551 题目链接:http ...