mp3音乐播放器c语言版
- 格式:wps
- 大小:440.43 KB
- 文档页数:85
论文题目基于VC的MP3播放器设计与实现姓名学院学院专业计算机科学与技术指导教师讲师备注年月日基于VC的MP3播放器设计与实现作者姓名:指导教师:讲师单位名称:计算机科学与技术系专业名称:计算机科学与技术学校年月Design and Implementation of Mp3 PlayerBased on VCbySupervisor: Lecturer毕业设计(论文)任务书基于VC的MP3播放器设计与实现摘要本MP3播放器应用程序是一个基于Visual C++ 6.0 开发的一个多媒体软件,是建立在MCI(媒体控制接口)控制之上的软件。
该软件开发研究的目的主要是为了给人们娱乐和消遣用的;该软件实现的方法是通过调用MCI控制接口的相关函数,获取系统的控制信息,利用系统信息对MP3播放器的每一个动作进行控制。
现在为止,该软件到可以实现的功能是:该软件可以添加和播放多种音频文件格式,可以添加单个音频文件,也可以同时添加多个音频文件;对音频文件的操作有:播放音频文件、暂停、停止,可以选择播放下一首歌或前一首歌;可以对已经添加进入播放列表的音频文件进行删除或者添加新的音频文件;可以调节系统的音量的大小;该软件还可以显示当前播放的进度;可以隐藏或展开播放列表;本软件可以进行系统托管,隐藏主界面后,在任务栏创建托管图标;单击托管图标后可以重新弹出控制界面,并取消托管图标。
在系统托管或自动播放的情况下,该软件在播放完一首歌后可以自动跳转到下一首歌,并播放此音频文件。
关键词:媒体控制接口,多媒体,系统托管,控件,音频文件Design and Implementation of Mp3 PlayerBased on VCAbstractThe MP3 Player application programme is software that developed based on Visual C++ 6.0, and also is software that built on the control of MCI. The purpose of developing this software is for the entertainment and recreation of people. The way this software realized is transfer the correlation functions of MCI, and obtain the information of system control, using this information to control each movement of the MP3 Player.So far, the functions that software can realize are: The software can open and play different formats of audio-files,You can add the audio-file one by one or add many audio-files once; play the audio-files; pause; stop; play the following audio-file, and play the preceding audio-file. You can also delete the audio-files that the play list already have or add the new audio-file that the play-list does not exist. You can accommodate the volume of the system. The can show the progress that the current audio-file played. And can hide or outspread the play list. The software can trustee by the system, and will create a icon on the taskbar. When click the icon the interface will show again. While the current audio-file is playing over, it will jump to the next audio-file and play automatically.Key words: MCI,Media,System-Trustee,Controls,Audio-files目录毕业设计(论文)任务书 (I)摘要 (II)ABSTRACT......................................................................................... I II 第1章绪论 .. (1)1.1课题来源 (1)1.2课题描述 (1)1.3课题设计的思想 (1)1.4国内外的发展概况 (2)1.4.1 Winamp (2)1.4.2千千静听 (2)第2章用户需求分析 .................................... 错误!未定义书签。
单片机音乐播放的c代码#include "reg52.h"unsigned char Count;sbit _Speak =P2^3 ; //讯响器控制脚unsigned char code SONG[] ={ //祝你平安0x26,0x20,0x20,0x20,0x20,0x20,0x26,0x10,0x20,0x10,0x20,0x80,0x26,0x20,0x30,0x20, 0x30,0x20,0x39,0x10,0x30,0x10,0x30,0x80,0x26,0x20,0x20,0x20,0x20,0x20,0x1c,0x20, 0x20,0x80,0x2b,0x20,0x26,0x20,0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x80,0x26,0x20, 0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x60,0x40,0x10,0x39,0x10,0x26,0x20, 0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x80,0x26,0x20,0x2b,0x10,0x2b,0x10, 0x2b,0x20,0x30,0x10,0x39,0x10,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x20, 0x20,0x10,0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x18,0x20,0x18,0x20,0x26,0x20, 0x20,0x20,0x20,0x40,0x26,0x20,0x2b,0x20,0x30,0x20,0x30,0x20,0x1c,0x20,0x20,0x20, 0x20,0x80,0x1c,0x20,0x1c,0x20,0x1c,0x20,0x30,0x20,0x30,0x60,0x39,0x10,0x30,0x10, 0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x10,0x26,0x10,0x26,0x10,0x2b,0x10,0x2b,0x80, 0x18,0x20,0x18,0x20,0x26,0x20,0x20,0x20,0x20,0x60,0x26,0x10,0x2b,0x20,0x30,0x20, 0x30,0x20,0x1c,0x20,0x20,0x20,0x20,0x80,0x26,0x20,0x30,0x10,0x30,0x10,0x30,0x20, 0x39,0x20,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x10,0x40,0x10,0x20,0x10, 0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x00,//路边的野华不要采0x30,0x1C,0x10,0x20,0x40,0x1C,0x10,0x18,0x10,0x20,0x10,0x1C,0x10,0x18,0x40,0x1C ,0x20,0x20,0x20,0x1C,0x20,0x18,0x20,0x20,0x80,0xFF,0x20,0x30,0x1C,0x10,0x18,0x20 ,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20, 0x30,0x80,0xFF,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30, 0x20,0x2B,0x40,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30, 0x20,0x2B,0x40,0x20,0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26 ,0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,0x30,0x80,0x20,0x30,0x1C,0x10,0x20, 0x10,0x1C,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x15,0x1F ,0x05,0x20,0x10,0x1C,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20, 0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B ,0x20,0x26,0x20,0x20,0x20,0x30,0x30,0x20,0x30,0x1C,0x10,0x18,0x40,0x1C,0x20,0x20, 0x20,0x26,0x40,0x13,0x60,0x18,0x20,0x15,0x40,0x13,0x40,0x18,0x80,0x00,};void Time0_Init(){TMOD = 0x01;IE = 0x82;TH0 = 0xD8;TL0 = 0xEF; //12MZ晶振,10ms}void Time0_Int() interrupt 1{TH0 = 0xD8;TL0 = 0xEF;Count++; //长度加1}/*-------------------------------------------------功能:1MS延时子程序-------------------------------------------------*/void Delay_xMs(unsigned int x){unsigned int i,j;for( i =0;i < x;i++ ){for( j =0;j<3;j++ );}}/*-------------------------------------------------功能:歌曲播放子程序i为播放哪一段曲目-------------------------------------------------*/void Play_Song(unsigned char i){unsigned char Temp1,Temp2;unsigned int Addr;Count = 0; //中断计数器清0Addr = i * 217;while(1){Temp1 = SONG[Addr++];if ( Temp1 == 0xFF ) //休止符{TR0 = 0;Delay_xMs(100);}else if ( Temp1 == 0x00 ) //歌曲结束符{return;}else{Temp2 = SONG[Addr++];TR0 = 1;while(1){_Speak = ~_Speak;Delay_xMs(Temp1);if ( Temp2 == Count ){Count = 0;break;}}}}}/*-------------------------------------------------功能:主程序-------------------------------------------------*/void main(){Time0_Init(); //定时器0中断初始化while(1){Play_Song(0); //播放}}6回答者:小崔凡凡- 二级2009-10-16 21:47我来评论>>提问者对于答案的评价:谢谢!相关内容• 单片机播放音乐里的音乐代码是怎么得到的?有什么软件能将歌曲直接转换成16进制代码 4 2008-11-14• 给个单片机C语言编的音乐程序,能够播放音乐 6 2009-7-22• 求用c语言编写的播放背景音乐的代码 5 2009-6-12• 单片机音乐代码问题 2009-9-28• 单片机音乐代码 5 2009-5-18更多相关问题>>查看同主题问题:单片机音乐音乐播放播放代码等待您来回答∙nokia 3100c音乐播放器如何跟新∙为什么用酷我音乐盒听歌后那歌会在C:\ProgramData\mcache里面呢∙深圳龙华天龙大道珍藏版狂嗨现场dj明仔vs女mc小黎茂名细飞11分钟半时候的那音乐谁知道叫什么名字!∙夏普9020c合上盖子怎么听音乐?∙C:Documents and SettingsAdministrator「开始」菜单酷我音乐盒2010.lnk∙nokia 2600c手机可以用什么音乐播放器?∙『windows』在网页制作中,下列不是背景音乐格式的是那一个?A.tem B mp3 C wav D∙3110c播放音乐时会卡,之后会自动到下一首,怎么办?其他回答共3 条我的博客上有三首连放的,你只要加两首就行了。
基于凌阳单片机,用C语言设计的mp3播放器程序!!浏览次数:1160次悬赏分:50 |提问时间:2008-9-5 22:01 |提问者:573109893|问题为何被关闭必须用C语言设计的程序,而且还必须基于凌阳单片机之上。
请各位大虾帮帮忙!跪求!!悬赏50分!!!事成之后再送50分!!其他回答共1条Public Class Form1Inherits System.Windows.Forms.Form#Region " Windows 窗体设计器生成的代码"Public Sub New()MyBase.New()'该调用是Windows 窗体设计器所必需的。
InitializeComponent()'在InitializeComponent() 调用之后添加任何初始化End Sub'窗体重写dispose 以清理组件列表。
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)If disposing ThenIf Not (components Is Nothing) Thencomponents.Dispose()End IfEnd IfMyBase.Dispose(disposing)End Sub'Windows 窗体设计器所必需的Private components As ponentModel.IContainer'注意: 以下过程是Windows 窗体设计器所必需的'可以使用Windows 窗体设计器修改此过程。
'不要使用代码编辑器修改它。
Friend WithEvents MainMenu1 As System.Windows.Forms.MainMenu Friend WithEvents MenuItem1 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem2 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem3 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem6 As System.Windows.Forms.MenuItemFriend WithEvents MenuItem7 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem8 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem9 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem10 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem11 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem12 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem13 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem14 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem15 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem16 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem17 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem18 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem19 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem20 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem21 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem22 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem23 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem24 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem25 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem26 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem27 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem28 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem29 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem30 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem31 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem32 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem33 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem34 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem35 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem36 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem37 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem38 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem39 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem40 As System.Windows.Forms.MenuItem Friend WithEvents AxMediaPlayer1 As AxMediaPlayer.AxMediaPlayer Friend WithEvents OpenFileDialog1 AsSystem.Windows.Forms.OpenFileDialog<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()Me.MainMenu1 = New System.Windows.Forms.MainMenuMe.MenuItem1 = New System.Windows.Forms.MenuItemMe.MenuItem2 = New System.Windows.Forms.MenuItemMe.MenuItem3 = New System.Windows.Forms.MenuItemMe.MenuItem6 = New System.Windows.Forms.MenuItemMe.MenuItem7 = New System.Windows.Forms.MenuItemMe.MenuItem8 = New System.Windows.Forms.MenuItemMe.MenuItem9 = New System.Windows.Forms.MenuItemMe.MenuItem10 = New System.Windows.Forms.MenuItemMe.MenuItem11 = New System.Windows.Forms.MenuItemMe.MenuItem12 = New System.Windows.Forms.MenuItemMe.MenuItem13 = New System.Windows.Forms.MenuItemMe.MenuItem14 = New System.Windows.Forms.MenuItemMe.MenuItem15 = New System.Windows.Forms.MenuItemMe.MenuItem16 = New System.Windows.Forms.MenuItemMe.MenuItem17 = New System.Windows.Forms.MenuItemMe.MenuItem18 = New System.Windows.Forms.MenuItemMe.MenuItem19 = New System.Windows.Forms.MenuItemMe.MenuItem20 = New System.Windows.Forms.MenuItemMe.MenuItem21 = New System.Windows.Forms.MenuItemMe.MenuItem22 = New System.Windows.Forms.MenuItemMe.MenuItem23 = New System.Windows.Forms.MenuItemMe.MenuItem24 = New System.Windows.Forms.MenuItemMe.MenuItem25 = New System.Windows.Forms.MenuItemMe.MenuItem26 = New System.Windows.Forms.MenuItemMe.MenuItem27 = New System.Windows.Forms.MenuItemMe.MenuItem28 = New System.Windows.Forms.MenuItemMe.MenuItem29 = New System.Windows.Forms.MenuItemMe.MenuItem30 = New System.Windows.Forms.MenuItemMe.MenuItem31 = New System.Windows.Forms.MenuItemMe.MenuItem32 = New System.Windows.Forms.MenuItemMe.MenuItem33 = New System.Windows.Forms.MenuItemMe.MenuItem34 = New System.Windows.Forms.MenuItemMe.MenuItem35 = New System.Windows.Forms.MenuItemMe.MenuItem36 = New System.Windows.Forms.MenuItemMe.MenuItem37 = New System.Windows.Forms.MenuItemMe.MenuItem38 = New System.Windows.Forms.MenuItemMe.MenuItem39 = New System.Windows.Forms.MenuItemMe.MenuItem40 = New System.Windows.Forms.MenuItemMe.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog ''MainMenu1'Me.MainMenu1.MenuItems.AddRange(NewSystem.Windows.Forms.MenuItem() {Me.MenuItem1, Me.MenuItem7, Me.MenuItem13, Me.MenuItem29, Me.MenuItem37})''MenuItem1'Me.MenuItem1.Index = 0Me.MenuItem1.MenuItems.AddRange(NewSystem.Windows.Forms.MenuItem() {Me.MenuItem2, Me.MenuItem3, Me.MenuItem6})Me.MenuItem1.Text = "文件(&F)"''MenuItem2'Me.MenuItem2.Index = 0Me.MenuItem2.Text = "打开(&O)"''MenuItem3'Me.MenuItem3.Index = 1Me.MenuItem3.Text = "-"''MenuItem6'Me.MenuItem6.Index = 2Me.MenuItem6.Text = "退出(&E)"''MenuItem7'Me.MenuItem7.Index = 1Me.MenuItem7.MenuItems.AddRange(NewSystem.Windows.Forms.MenuItem() {Me.MenuItem8, Me.MenuItem9, Me.MenuItem10, Me.MenuItem11, Me.MenuItem12})Me.MenuItem7.Text = "播放(&P)"''MenuItem8'Me.MenuItem8.Index = 0Me.MenuItem8.Text = "播放(&P)"''MenuItem9'Me.MenuItem9.Index = 1Me.MenuItem9.Text = "-"''MenuItem10'Me.MenuItem10.Index = 2Me.MenuItem10.Text = "暂停(&A)"''MenuItem11'Me.MenuItem11.Index = 3Me.MenuItem11.Text = "-"''MenuItem12'Me.MenuItem12.Index = 4Me.MenuItem12.Text = "停止(&S)"''MenuItem13'Me.MenuItem13.Index = 2Me.MenuItem13.MenuItems.AddRange(NewSystem.Windows.Forms.MenuItem() {Me.MenuItem14, Me.MenuItem15, Me.MenuItem16, Me.MenuItem17, Me.MenuItem18, Me.MenuItem19, Me.MenuItem20, Me.MenuItem21, Me.MenuItem22, Me.MenuItem23, Me.MenuItem24, Me.MenuItem25, Me.MenuItem26, Me.MenuItem27, Me.MenuItem28})Me.MenuItem13.Text = "视图(&V)"''MenuItem14'Me.MenuItem14.Index = 0Me.MenuItem14.Text = "标准模式(&S)"''MenuItem15'Me.MenuItem15.Index = 1Me.MenuItem15.Text = "-"''MenuItem16'Me.MenuItem16.Index = 2Me.MenuItem16.Text = "精简模式(&M)"''MenuItem17'Me.MenuItem17.Index = 3Me.MenuItem17.Text = "-"''MenuItem18'Me.MenuItem18.Index = 4Me.MenuItem18.Text = "最小模式(&I)" ''MenuItem19'Me.MenuItem19.Index = 5Me.MenuItem19.Text = "-"''MenuItem20'Me.MenuItem20.Index = 6Me.MenuItem20.Text = "全屏模式(&F)" ''MenuItem21'Me.MenuItem21.Index = 7Me.MenuItem21.Text = "-"''MenuItem22'Me.MenuItem22.Index = 8Me.MenuItem22.Text = "双倍模式(&D)" ''MenuItem23'Me.MenuItem23.Index = 9Me.MenuItem23.Text = "-"''MenuItem24'Me.MenuItem24.Index = 10Me.MenuItem24.Text = "详细信息(&X)" ''MenuItem25'Me.MenuItem25.Index = 11Me.MenuItem25.Text = "-"''MenuItem26'Me.MenuItem26.Index = 12Me.MenuItem26.Text = "统计信息(&J)" ''MenuItem27'Me.MenuItem27.Text = "-"''MenuItem28'Me.MenuItem28.Index = 14Me.MenuItem28.Text = "快捷菜单(&C)"''MenuItem29'Me.MenuItem29.Index = 3Me.MenuItem29.MenuItems.AddRange(NewSystem.Windows.Forms.MenuItem() {Me.MenuItem30, Me.MenuItem31, Me.MenuItem32, Me.MenuItem33, Me.MenuItem34, Me.MenuItem35, Me.MenuItem36})Me.MenuItem29.Text = "设置(&S)"''MenuItem30'Me.MenuItem30.Index = 0Me.MenuItem30.Text = "属性设置(&P)"''MenuItem31'Me.MenuItem31.Index = 1Me.MenuItem31.Text = "-"''MenuItem32'Me.MenuItem32.Index = 2Me.MenuItem32.Text = "静音设置(&S)"''MenuItem33'Me.MenuItem33.Index = 3Me.MenuItem33.Text = "-"''MenuItem34'Me.MenuItem34.Index = 4Me.MenuItem34.Text = "增大音量(&I)"''MenuItem35'Me.MenuItem35.Text = "-"''MenuItem36'Me.MenuItem36.Index = 6Me.MenuItem36.Text = "减小音量(&D)"''MenuItem37'Me.MenuItem37.Index = 4Me.MenuItem37.MenuItems.AddRange(NewSystem.Windows.Forms.MenuItem() {Me.MenuItem38, Me.MenuItem39, Me.MenuItem40})Me.MenuItem37.Text = "帮助(&H)"''MenuItem38'Me.MenuItem38.Index = 0Me.MenuItem38.Text = "帮助(&H)"''MenuItem39'Me.MenuItem39.Index = 1Me.MenuItem39.Text = "-"''MenuItem40'Me.MenuItem40.Index = 2Me.MenuItem40.Text = "关于(&A)"''OpenFileDialog1'Me.OpenFileDialog1.Filter = "所有影音文件(*.avi,*.mpg,*.dat)|*.avi;*.mpg;*.dat|所有文件(*.*)|*.*"''Form1'Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)Me.ClientSize = New System.Drawing.Size(360, 190)Me.Menu = Me.MainMenu1 = "Form1"Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen Me.Text = "演示播放VCD电影"End Sub#End Region'打开Private Sub MenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem2.ClickIf Me.OpenFileDialog1.ShowDialog() = DialogResult.OK ThenMe.AxMediaPlayer1.FileName = Me.OpenFileDialog1.FileNameEnd IfEnd Sub'退出Private Sub MenuItem6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem6.ClickMe.Close()End Sub'播放Private Sub MenuItem8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem8.ClickTryMe.AxMediaPlayer1.Play()Catch ex As ExceptionMessageBox.Show("可能没有打开媒体文件!", "信息提示", MessageBoxButtons.OK, rmation)End TryEnd Sub'暂停Private Sub MenuItem10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem10.ClickTryMe.AxMediaPlayer1.Pause()Catch ex As ExceptionMessageBox.Show("可能没有打开媒体文件!", "信息提示", MessageBoxButtons.OK, rmation)End TryEnd Sub'停止Private Sub MenuItem12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem12.ClickTryMe.AxMediaPlayer1.Stop()Catch ex As ExceptionMessageBox.Show("可能没有打开媒体文件!", "信息提示", MessageBoxButtons.OK, rmation)End TryEnd Sub'标准模式Private Sub MenuItem14_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem14.ClickTryMe.AxMediaPlayer1.DisplaySize =MediaPlayer.MPDisplaySizeConstants.mpDefaultSizeCatch ex As ExceptionMessageBox.Show("可能没有打开媒体文件!", "信息提示", MessageBoxButtons.OK, rmation)End TryEnd Sub'精简模式Private Sub MenuItem16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem16.ClickTryMe.AxMediaPlayer1.DisplaySize =MediaPlayer.MPDisplaySizeConstants.mpFitToSizeCatch ex As ExceptionMessageBox.Show("可能没有打开媒体文件!", "信息提示", MessageBoxButtons.OK, rmation)End TryEnd Sub'最小模式Private Sub MenuItem18_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem18.ClickTryMe.AxMediaPlayer1.DisplaySize =MediaPlayer.MPDisplaySizeConstants.mpOneSixteenthScreenCatch ex As ExceptionMessageBox.Show("可能没有打开媒体文件!", "信息提示", MessageBoxButtons.OK, rmation)End TryEnd Sub'全屏模式Private Sub MenuItem20_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem20.ClickTryMe.AxMediaPlayer1.DisplaySize =MediaPlayer.MPDisplaySizeConstants.mpFullScreenCatch ex As ExceptionMessageBox.Show("可能没有打开媒体文件!", "信息提示", MessageBoxButtons.OK, rmation)End TryEnd Sub'双倍模式Private Sub MenuItem22_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem22.ClickTryMe.AxMediaPlayer1.DisplaySize =MediaPlayer.MPDisplaySizeConstants.mpDoubleSizeCatch ex As ExceptionMessageBox.Show("可能没有打开媒体文件!", "信息提示", MessageBoxButtons.OK, rmation)End TryEnd Sub'详细信息Private Sub MenuItem24_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem24.Click'使用NOT操作符简化代码Me.AxMediaPlayer1.ShowDisplay = Not Me.AxMediaPlayer1.ShowDisplay '判断并设置菜单的复选标记If Me.AxMediaPlayer1.ShowDisplay = True ThenMe.MenuItem24.Checked = TrueElseMe.MenuItem24.Checked = FalseEnd IfEnd Sub'统计信息Private Sub MenuItem26_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem26.ClickTryMe.AxMediaPlayer1.ShowDialog(MediaPlayer.MPShowDialogConstants.mpS howDialogStatistics)Catch ex As ExceptionMessageBox.Show("可能没有打开媒体文件!", "信息提示", MessageBoxButtons.OK, rmation)End TryEnd Sub'快捷菜单Private Sub MenuItem28_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem28.ClickMe.AxMediaPlayer1.ShowDialog(MediaPlayer.MPShowDialogConstants.mpS howDialogContextMenu)End Sub'属性设置Private Sub MenuItem30_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem30.ClickMe.AxMediaPlayer1.ShowPropertyPages()'Me.AxMediaPlayer1.ShowDialog(MediaPlayer.MPShowDialogConstants.mpS howDialogOptions)End Sub'静音设置Private Sub MenuItem32_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem32.Click'使用Not操作符简化编码Me.AxMediaPlayer1.Mute = Not Me.AxMediaPlayer1.Mute'添加Check标记If Me.AxMediaPlayer1.Mute = True ThenMe.MenuItem32.Checked = TrueElseMe.MenuItem32.Checked = FalseEnd IfEnd Sub'增大音量Private Sub MenuItem34_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem34.ClickMe.AxMediaPlayer1.Volume = Me.AxMediaPlayer1.Volume + 100End Sub'减小音量Private Sub MenuItem36_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem36.ClickMe.AxMediaPlayer1.Volume = Me.AxMediaPlayer1.Volume - 100End Sub'帮助Private Sub MenuItem38_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem38.ClickMe.AxMediaPlayer1.ShowDialog(MediaPlayer.MPShowDialogConstants.mpS howDialogHelp)End Sub'关于Private Sub MenuItem40_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem40.ClickMe.AxMediaPlayer1.ShowAboutBox()End SubPrivate Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadEnd SubEnd Class你看看是不是你要的,不是的话我还有别的注意了,在你运行的时候可能会出现AxMediaPlayer为导入的提示,这时候你在菜单栏里的工具-> 添加移除工具箱,选择COM组件,点浏览,,在C:\WINDOWS\SYSTEM32\MSDXM.OCX这个文件并打开,这时候会增加一个windows media player的控件,使用它就可以了。
include <windows.h> #include <stdio.h>#include <stdlib.h>#include <string.h>#include <conio.h>unsigned frequency[100];char hight[100];unsigned time[100];unsigned rate;void main(){voidset(unsignedf[],charh[],unsignedt[],int r,int num);void music(unsigned f[],unsigned t[],intnum);int flag=0;FILE *f1;int i,n,menu;char FileName[30];while(1){f1=NULL;i=n=0;printf("本程序采用编码的形式播放音乐。
\n");printf("\n用记事本编辑乐谱,然后通过输入文件名播放音乐\n");printf("乐谱文件可以自创,也可以抄别人的\n");printf("\n现在可以先输入数字再按回车播放音乐:\n");printf("1播放指定音乐music1\n");printf("2播放指定音乐music2\n");printf("3通过程序文件名播放音乐\n");printf("4退出\n");while(1){printf("menu=");scanf("%d",&menu);if(menu==1) {strcpy(FileName,"music1.txt");break;}if(menu==2){strcpy(FileName,"music2.txt");break;}if(menu==3){scanf("%s",FileName);break;}if(menu==4)exit(0);}printf("\n该文件的音乐编码如下:\n");if((f1=fopen(FileName,"r"))==NULL){ printf("不能打开文件!\n");exit(1);}fscanf(f1,"%d",&rate);while(!feof(f1)&&flag!=1){fscanf(f1," %d%c%d",&frequency[i],&hight[i],&time[i]);printf("%d%c%d",frequency[i],hight[i],time[i]);if(time[i]!=-1){i++;n++;}elseflag=1;}printf("\n");set(frequency,hight,time,rate,n);music(frequency,time,n);fclose(f1);}getch();}void set(unsigned f[],char h[],unsigned t[],int r,int num){int i,k;for(i=0;i<num;i++){t[i]=t[i]*r;switch(h[i]){case 'H':k=4;break;case 'M':k=2;break;case 'L':k=1;}switch(f[i]){case 1: f[i]=262*k; break;case 2: f[i]=296*k; break;case 3: f[i]=330*k; break;case 4: f[i]=349*k; break;case 5: f[i]=392*k; break; case 6: f[i]=440*k; break;case 7: f[i]=494*k; break;} }}voidmusic(unsignedf[],unsignedt[],intnum){int i;for(i=0;i<num;i++){Beep(f[i],t[i]);}。
C语言实现音乐播放器音乐是人们生活中不可或缺的一部分,而音乐播放器则是让人们能够随时随地欣赏自己喜爱的音乐的工具。
本文将介绍如何使用C语言来实现一个简单的音乐播放器。
一、背景介绍在开始介绍之前,我们先了解一下C语言。
C语言是一种通用的高级计算机程序设计语言,它广泛应用于软件开发、嵌入式系统、操作系统等领域。
C语言具有简洁、高效、灵活等特点,非常适合用来实现音乐播放器这样的应用程序。
二、功能设计一个音乐播放器需要具备以下几个基本功能:1. 播放音乐:能够将音乐文件加载到内存中,并通过音频设备进行播放。
2. 暂停和继续播放:能够控制音乐的播放状态,实现暂停和继续播放功能。
3. 调节音量:能够通过控制音频设备的音量来调节音乐的播放音量。
4. 播放进度条:能够显示当前音乐的播放进度,并能够通过拖动进度条来控制播放进度。
5. 播放列表:能够显示已加载的音乐文件,并能够选择要播放的音乐。
6. 循环播放:能够实现单曲循环、列表循环和随机播放等不同播放模式。
三、技术实现1. 文件加载:使用C语言的文件操作函数,如fopen、fread等,将音乐文件加载到内存中,也可以使用第三方库来简化操作。
2. 音频播放:使用C语言的音频库,如ALSA、SDL等,通过调用相应的函数实现音频播放。
3. 用户界面:使用C语言的图形库,如GTK、SDL等,创建用户界面并实现各种交互操作。
4. 音频处理:使用C语言的音频处理库,如libao、libmad等,对音乐文件进行解码和处理。
5. 播放控制:使用C语言的多线程或事件驱动机制,实现播放控制功能,包括播放、暂停、继续、音量调节等。
6. 播放列表:使用C语言的链表或数组等数据结构,保存已加载的音乐文件,并能够根据用户选择进行切换和播放。
7. 进度条:使用C语言的图形库,绘制并更新进度条的显示,并通过鼠标或键盘事件实现拖动进度条来控制播放进度。
8. 播放模式:使用C语言的条件语句和控制流程,实现不同的播放模式,并能够根据用户选择切换不同的播放模式。