当前位置:文档之家› 用C#做一个调用API的MP3播放器

用C#做一个调用API的MP3播放器

用C#做一个调用API的MP3播放器
用C#做一个调用API的MP3播放器

using System;

using System.Collections.Generic;

using System.Text;

//using System.linq;

using System.Runtime.InteropServices;

using System.IO;

namespace Mp3Player

{

class MP3

{

public MP3() { }

//定义API函数使用的字符串变量

[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)] private string Name = "";

[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)] private string durLength = "";

[MarshalAs(UnmanagedType.LPTStr, SizeConst = 128)] private string TemStr = "";

int ilong;

//定义播放状态枚举变量

public enum State

{

mPlaying = 1,

mPuase = 2,

mStop = 3

};

//结构变量

public struct structMCI

{

public bool bMut;

public int iDur;

public int iPos;

public int iVol;

public int iBal;

public string iName;

public State state;

};

public structMCI mc = new structMCI();

///

///当前播放状态的属性

///

public int GetState

{

get

{

if (State.mPlaying == mc.state)

{

return 1;

}

else if (State.mPuase == mc.state)

{

return 2;

}

return 3;

}

set

{

if (1 == value)

{

mc.state = State.mPlaying;

}

else if (2 == value)

{

mc.state = State.mPuase;

}

else if (3 == value)

{

mc.state = State.mStop;

}

}

}

///

///设计播放时间的显示格式

///

///Tflag:true时显示前进用用时,false时为剩余时间并有'-' ///

public string PlayerNowTime(bool Tflag)

{

int total = CurrentPosition;

string t = "";

if (Tflag == false)

{

total = Duration - total;

t += "-";

}

int min = total / 60;

int second = total % 60;

if (min < 10)

{

t += "0";

}

t += min.ToString();

t += ":";

if (second < 10)

{

t += "0";

}

t += second.ToString();

return t;

}

///

///返回播放总时间

///

///

public string PlayerAllTime()

{

int total = Duration;

return total.ToString();

}

///

///打开音乐文件和获取音乐文件时间长度信息

///

public string FileName

{

get

{

return mc.iName;

}

set

{

try

{

TemStr = "";

Name = "";//***清空

string add = "For Binary";

TemStr = TemStr.PadLeft(127, Convert.ToChar(" "));

Name = Name.PadLeft(260, Convert.ToChar(" "));

mc.iName = value;

ilong = APIClass.GetShortPathName(mc.iName, Name, Name.Length);

Name = GetCurrPath(Name);

Name = "open "+ Convert.ToChar(34) + Name + Convert.ToChar(34) + " alias media"; ilong = APIClass.mciSendString(Name, TemStr, TemStr.Length, 0);

ilong = APIClass.mciSendString("set media time format milliseconds", TemStr, TemStr.Length, 0);

mc.state = State.mStop;

mc.iVol = GetNowVolumn();

}

catch

{

}

}

}

///

///当前音量属性

///

public int Volume

{

get

{

return mc.iVol;

}

set

{

SetVolumeTo(value);

}

}

///

///播放位置的属性

public int Position

{

get

{

return mc.iPos;

}

set

{

StepTo(value);

}

}

///

///播放

///

public void play()

{

TemStr = "";

//if (mc.state == State.mStop)

//{

TemStr = TemStr.PadLeft(127, Convert.ToChar(" "));

APIClass.mciSendString("play media", TemStr, TemStr.Length, 0);

SetVolumeTo(200);

mc.state = State.mPlaying;

// return;

//}

//RepeatPlay();

}

///

///停止

///

public void StopT()

{

TemStr = "";

TemStr = TemStr.PadLeft(128, Convert.ToChar(" "));

ilong = APIClass.mciSendString("close media", TemStr, TemStr.Length, 0); ilong = APIClass.mciSendString("close all", TemStr, TemStr.Length, 0); mc.state = State.mStop;

}

///

///暂停

///

public void Puase()

{

TemStr = "";

TemStr = TemStr.PadLeft(128, Convert.ToChar(" "));

ilong = APIClass.mciSendString("pause media", TemStr, TemStr.Length, 0); mc.state = State.mPuase;

}

///

///循环播放

public void RepeatPlay()

{

TemStr = "";

TemStr = TemStr.PadLeft(128, Convert.ToChar(" "));

ilong = APIClass.mciSendString("play media repeat", TemStr, TemStr.Length, 0); SetVolumeTo(200);//设置初始化的音量大小

mc.state = State.mPlaying;

}

///

///快进\快退

///

public void StepTo(int steps)

{

if (steps < 0)

{

TemStr = "";

steps = -steps;

TemStr = TemStr.PadLeft(128, Convert.ToChar(" "));

ilong = APIClass.mciSendString("step media by reverse", TemStr, steps, 0); mc.state = State.mPlaying;

}

else

{

TemStr = "";

TemStr = TemStr.PadLeft(128, Convert.ToChar(" "));

ilong = APIClass.mciSendString("step media by", TemStr, steps, 0);

mc.state = State.mPlaying;

}

}

///////////////////////////////////////////

//音量控制

///

///获取当前音量

///

///

public int GetNowVolumn()

{

int volumn = 0;

TemStr = "";

TemStr = TemStr.PadLeft(128, Convert.ToChar(" "));

ilong = APIClass.mciSendString("status media volumn", TemStr, volumn, 0);

mc.state = State.mPlaying;

return volumn;

}

///

///设置音量

///

///设置的值

public void SetVolumeTo(int volume)

{

TemStr = "";

volume *= 10;

TemStr = TemStr.PadLeft(128, Convert.ToChar(" "));

ilong = APIClass.mciSendString("setaudio media volume to "+ volume.ToString(), TemStr, 128, 0);

mc.iVol = volume;

mc.state = State.mPlaying;

}

///

///播放完就停止播放

///

///

public bool EndToStop()

{

if (mc.iPos == Duration)

{

StopT();

return true;

}

else

{

return false;

}

}

///

///得到文件路径

///

///

///

private string GetCurrPath(string name)

{

if (name.Length < 1)

{

return"";

}

name = name.Trim();

name = name.Substring(0, name.Length - 1);

return name;

}

//总时间

public int Duration

{

get

{

durLength = "";

durLength = durLength.PadLeft(128, Convert.ToChar(" "));

int ilog = APIClass.mciSendString("status media length", durLength,

durLength.Length, 0);

durLength = durLength.Trim();

if (durLength == "")

{

return 0;

}

return (int)(Convert.ToDouble(Convert.ToInt32(durLength)) / 1000f);

}

}

//当前时间

public int CurrentPosition

{

get

{

durLength = "";

durLength = durLength.PadLeft(128, Convert.ToChar(" "));

int ilog = APIClass.mciSendString("status media position", durLength, durLength.Length, 0);

durLength = durLength.Trim();

mc.iPos = (int)(Convert.ToDouble(Convert.ToInt32(durLength)) / 1000f);

return mc.iPos;

}

}

//录音

///

///初始化录音环境

///

///

public bool InitalDevice()

{

durLength = "";

durLength = durLength.PadLeft(128, Convert.ToChar(" "));//11025

ilong = APIClass.mciSendString("set media bitpersample 8", durLength, durLength.Length, 0);

ilong = APIClass.mciSendString("set media samplespersec 11025", durLength, durLength.Length, 0);

ilong = APIClass.mciSendString("set media channels 2", durLength, durLength.Length, 0); ilong = APIClass.mciSendString("set media format tag pcm", durLength, durLength.Length, 0);

return true;

}

///

///开始录音

///

///

public bool BeginRecord()

{

durLength = "";

durLength = durLength.PadLeft(128, Convert.ToChar(" "));

ilong = APIClass.mciSendString("close My", durLength, durLength.Length, 0);

try

{

ilong = APIClass.mciSendString("open new type waveaudio alias My", durLength, durLength.Length, 0);

ilong = APIClass.mciSendString("record My", durLength, durLength.Length, 0);

}

catch (Exception ex)

{

ex.Message.ToString();

}

return true;

}

///

///保存录音

///

///保存路径

public void SaveMusic(string path)

{

durLength = "";

durLength = durLength.PadLeft(128, Convert.ToChar(" "));

try

{

ilong = APIClass.mciSendString("save My "+ path, durLength, durLength.Length, 0);

APIClass.mciSendString("close My", durLength, durLength.Length, 0);

}

catch (Exception ex)

{

ex.Message.ToString();

}

}

///

///停止录音

///

public void StopRecord()

{

durLength = "";

durLength = durLength.PadLeft(128, Convert.ToChar(" "));

try

{

APIClass.mciSendString("stop My", durLength, durLength.Length, 0);

}

catch (Exception ex)

{

ex.Message.ToString();

}

}

///

///暂停录音

///

public void PauseRecord()

{

durLength = "";

durLength = durLength.PadLeft(128, Convert.ToChar(" "));

try

{

APIClass.mciSendString("pause My", durLength, durLength.Length, 0);

}

catch (Exception ex)

{

ex.Message.ToString();

}

}

///

///继续录音

///

public void ResumeRecord()

{

durLength = "";

durLength = durLength.PadLeft(128, Convert.ToChar(" "));

try

{

APIClass.mciSendString("resume My", durLength, durLength.Length, 0);

}

catch (Exception ex)

{

ex.Message.ToString();

}

}

}

////////////////////////////////////

public class APIClass

{

[DllImport("kernel32.dll", CharSet = CharSet.Auto)]

public static extern int GetShortPathName(string lpszLongPath, string shortFile, int cchBuffer);

[DllImport("winmm.dll", EntryPoint = "mciSendString", CharSet = CharSet.Auto)] public static extern int mciSendString(string lpstrCommand, string lpstrReturnString, int uReturnLength, int hwndCallback);

}

}

java视频播放器源代码

import java.awt.*; import java.io.*; import java.util.*; import javax.media.*; import javax.media.format.*; import javax.swing.*; public class VideoPlayer implements ControllerListener { Vector audioCapDevList = null; Vector videoCapDevList = null; CaptureDeviceInfo audioCapDevInfo = null; CaptureDeviceInfo videoCapDevInfo = null; MediaLocator audioCapDevLoc = null; MediaLocator videoCapDevLoc = null; Player audioPlayer; Player videoPlayer; public void initAudioCapDevLoc() { //这里可以填写其它的音频编码格式,具体请看AudioFormat类 audioCapDevList = CaptureDeviceManager.getDeviceList(new AudioFormat( AudioFormat.LINEAR)); if ((audioCapDevList.size() > 0)) { //或许有几个CaptureDevice,这里取第一个 audioCapDevInfo = (CaptureDeviceInfo) audioCapDevList.elementAt(0); audioCapDevLoc = audioCapDevInfo.getLocator(); } else { System.out.println("找不到音频采集设备"); System.exit(0); } } public void initVideoCapDevLoc() { //这里可以填写其它的编码视频格式,具体请看VideoFormat类 videoCapDevList = CaptureDeviceManager.getDeviceList(new VideoFormat( VideoFormat.YUV)); if ((videoCapDevList.size() > 0)) {

音乐播放器程序源代码及注释

音乐播放器程序源代码及注释: #include #define uchar unsigned char #define uint unsigned int sbit duan=P2^6; sbit key1=P3^2;//按key1可切换花样 sbit key2=P3^3;//按key2可切换歌曲 sbit fm=P2^4;//蜂鸣器连续的IO口 sbit P30=P3^0;//矩阵键盘的一列 uchar code huayang1[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe, 0xfd,0xfb,0xf7,0xef,0xdf,0xbf};//花样1 uchar code huayang2[]={0x7f,0xfe,0xbf,0xfd,0xdf,0xfb,0xef,0xf7, 0xef,0xfb,0xdf,0xfd,0xbf,0xfe};//花样2 uchar code huayang3[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x0, 0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff}; char code huayang4[]={ 0x55,0xaa,0xcc,0x33,0x99,0x66,0x0f,0xf0}; uchar count1;//花样标志 uchar count2;//歌曲标志 uchar timeh,timel,i; //编程规则:字节高位是简谱,低位是持续时间, //代表多少个十六分音符 //1-7代表中央C调,8-E代表高八度,0代表停顿

mp3音乐播放器c语言版

需求分析 1引言 随着社会的快速发展,现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,音乐成了我们生活工作中的一个重要的部分。而计算机的普及,让人们能让我们通过播放软件,能更好的听到我们喜欢的音乐。本文档就是为了能更好的设计出一个音乐播放去而编写的。 1.1编写目的: 为明确软件需求、安排项目与进度、组织软件开发与测试,撰写本文档。本文档功项目经理、设计人员、开发人员参考。 1.2项目背景项目背景项目背景项目背景 本项目由老师提出,由学生自主开发,实现播放现今主流的音乐MP3,wma文本格式。 开发软件名称:音乐播放器 项目开发者:岳世崇 1.3项目目的和目标 本项目的目的是开发一个可以播放主流的音乐文本格式,本设计的实现主要功能是播放MP3,wma 格式的音乐文件,并且能控制播放,暂停,停止,音量控制,选择上一曲,选择下一曲,各种播放模式,视觉外观,列表文件等多种播放控制,界面简明,操作简单。 1.4参考资料 百度文库,mci接口调用方法

c语言程序设计——清华大学出版社 c数据结构——清华大学出版社。 2.系统需求分析 根据项目,我们可以获得项目系统的基本需求,一下从不同角度来描述系统的需求。 2.1功能需求 系统的功能需求,我们分成三部分来概括,即播放器的基本控制需求,播放列表管理需求和播放器友好性需求。以下分别描述: 一:播放器的基本控制需求 (1)播放:选择歌曲进行播放。 (2)暂停:输入暂停对应的选项,播放暂停。 (3)继续播放:输入继续播放对应的选项,实现继续播放。 (4)停止播放:输入停止播放对应的选项,实现停止播放。 (5)音量控制:输入音量控制所对应的选项实现音量控制。 (6)上一首,下一首:输入上一首或者下一首对应的选项实现歌曲的切换。 (7)播放模式:列表循环播放,列表顺序播放,随机播放,单曲循环播放,单曲播放的选项,选择播放模式。 (8)删除歌曲:删除列表中不想出现的歌曲 (9)快进/快退:输入相应的选项进入快进和快退功能并实现。 (10)查看文件大小:输入查看文件的大小对应的选项,实现查看文件大小的功能 (11)列表之间的相互切换,可以选择不同路径下的不同播放列表 。 二:播放列表管理 1.添加歌曲:添加歌曲的时候可以在本播放列表下进行添加,也可以选择输入播放列

Java音乐播放器源代码即结果显示

简单的音乐播放器一、程序代码: import java.io.File; import java.awt.BorderLayout; import java.awt.Button; import java.awt.Color; import java.awt.FileDialog; import java.awt.Frame; import java.awt.GridLayout; import https://www.doczj.com/doc/7318696035.html,bel; import java.awt.List; import java.awt.Menu; import java.awt.MenuBar; import java.awt.MenuItem; import java.awt.MenuShortcut; import java.awt.Panel; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.DataLine; import javax.sound.sampled.SourceDataLine; public class Example extends Frame { private static final long serialVersionUID = 1L; boolean isStop = true;// 控制播放线程 boolean hasStop = true;// 播放线程状态

音乐播放器代码大全

音乐播放器代码大全 autostart="true"中true或1表示自动播放,false或0表示手动播放 loop="true" 中的true或1表示重复播放,false或0表示只播放一次width= height= 中的数字分别表示播放器的宽度和高度=0表示隐藏播放器 EnableContextMenu="0" 禁右键 ShowStatusBar="1" (带显示文件播放信息) 1隐藏播放器(不循环) 代码: 2.隐藏播放器(循环播放) 代码: 3.黑色皮肤播放器 代码: 4.淡蓝色播放器 代码:

5.迷幻播放器 代码:

6.带菜单的播放器 代码: 7.深黄色带菜单播放器 代码: 8.灰色播放器 代码:

java简单媒体播放器源码.

//程序所用到的各种程序包 import java.awt.BorderLayout; import java.awt.CheckboxMenuItem; import java.awt.Color; import https://www.doczj.com/doc/7318696035.html,ponent; import java.awt.Container; import java.awt.FileDialog; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics; import java.awt.Menu; import java.awt.MenuBar; import java.awt.MenuItem; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent;

import javax.media.ControllerClosedEvent; import javax.media.ControllerEvent; import javax.media.ControllerListener; import javax.media.EndOfMediaEvent; import javax.media.GainControl; import javax.media.Manager; import javax.media.MediaLocator; import javax.media.NoPlayerException; import javax.media.Player; import javax.media.PrefetchCompleteEvent; import javax.media.RealizeCompleteEvent; import javax.media.Time; import javax.swing.JFrame; //本程序对应的类; class MediaPlayer extends JFrame implements ActionListener, ControllerListener, ItemListener { //MediaPlayer类的变量成员的声明; //JMF提供的播放器对象;

MP3播放器使用时的五大禁忌

MP3播放器使用时的五大禁忌!! 随意的在大街上走一圈,我们便能发现各式各样的MP3,配带在人们身上,陪着大家穿梭于城市的大街小巷。MP3所带来的无时无刻音乐享受正成为一种全新的时尚。然后在大家都在全民化使用MP3的时候,你知道一些使用MP3的一些禁忌么?可知道触犯这些禁忌在使用中即有可能对你的人身安全、或MP3带来极大的伤害。 而在国外的一些地方,有专家也指出使用MP3是致病的一个重要因素,随意的使用MP3,甚至可导致年轻人比上一代提早30年耳聋。下面我们就根据52硬件网上的一些资料,为大家介绍一下目前最主要的五种使用MP3一定要注意的禁忌。并为大家提出相应的解决方法。 禁忌一:音量调节得过大 很多用户听MP3的时候,总是喜欢听得屁较清楚,如果就尽量的把音量调高。而MP3一般而言最大音量可以高达80分贝,相当于一台割草机发出的声音,这种声音能直接损伤听力。MP3调到大音量带来的失真会使高音刺耳、中音不清、低音浑浊,而失真属于噪音的一种,也会给你的MP3和耳机带来一定的损伤。 建议:MP3的总音量控制在最大音量的1/4-1/3。此外,每次听完音乐之后,养成把音量调节旋钮关至最小的习惯。【资讯第一播报https://www.doczj.com/doc/7318696035.html,】 禁忌二:长时间收听 有些用户听MP3的时候,听到自己的喜欢听的歌曲总是喜欢一次听个够。听MP3要讲究劳逸结合,长时间听MP3会造成耳朵压力过重造成耳朵超负荷工作,致使听力下降损害健康。 建议:一般情况下根据所收听MP3音乐的类型的不同,长短也有不同。过分激烈的音乐,比如摇滚、快速流行音乐、大动态交响乐等,1小时左右应该休息一下,也就是听一张CD的长度应该休息15分钟左右。轻音乐,人声,较慢的流行音乐等可以100分钟左右休息一次。当然根据耳塞耳机器材的不同时间也有变化,上面说的时间是标准耳塞的长度,插入耳道的密闭式耳塞应该减少20%的时间,而耳机可以适当的增加15%左右的时间。 禁忌三:佩戴耳塞收听 MP3配置的耳塞式耳机被直接塞进耳朵里,能将声音信号提高9分贝,时间长了会对耳膜造成伤害。而还有为了追求强劲低频,很多耳塞使用长长的笛管式低音谐振和防漏音设计,并把耳塞的外形与耳朵的形状相配合,使耳塞与耳孔贴紧,直接利用耳朵的耳道作为低音共振腔,这样就能听到更强劲的音乐。 从技术上说,这当然是一种巧妙的设计,但它对耳朵带来的伤害是极为严重的。短期使用时,由于人体具有的修复功能,造成的影响还不大。但是长期使用,无疑会造成严重的听力损害。现在一些厂家也尽量迎合国内消费者的偏好,现在还推出了所谓的“特重低音”耳塞,用一个凸型的薄膜集中了声音能量对准耳孔,以增加低频效果。使用这些耳塞,无疑会造成更严重的伤害。【资讯第一播报https://www.doczj.com/doc/7318696035.html,】 建议:使用头戴式耳机显然比耳塞要好的多,这就是为什么以前销往欧洲的随身听大部分配备头戴式耳机的原因了,因为耳塞曾经对欧洲的年轻人造成伤害。 禁忌四:嘈杂环境中听MP3

安卓音乐播放器开发,含源代码

基于an droid平台的音乐播放器开发 实验报告 学生姓名:_______ 温从林 _________________ 学号: ___________________________________ 班级:计自1201 _____________ 第一章引言 1.1项目背景 当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同各类,现在的市场上主要有三个手机操作系统,Win dowsmobile,symbia n,以及谷歌的An droid操作系统,其中占有开放源代码优势的An droid系统有最大的发展前景。那么能否在手机上拥有自己编写的个性音乐播放器呢?能的,谷歌An droid系统就能做到。本文的音乐播放器就是基于谷歌An droid手机平台的播放器。 An droid :是谷歌于2007年公布的开放式源代码手机系统,它的开放性就优于其它封闭式的手机系统,因此,任何人都可能根据自己的喜好将手机系统中的所有功能重新编写。这使得越来越多的人关注这个操作系统。本次作品音乐播放器就是基于An droid平台的。 1.2编写目的 现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,本项目的目的是开发一个可以播放主流音乐文件格式的播放器,本设计实现的主要功能是播放Mp3 Wav多种格式的音乐文件,并且能够控制播放,暂停,停止,播放列等基本播放控制功能,界面简明,操作简单。

本项目是一款基于An droid手机平台的音乐播放器,使An droid手机拥有个性的 多媒体播放器,使手机显得更生动灵活化,与人们更为接近,让手机主人随时随地处于音乐视频的旋律之中。使人们的生活更加多样化。也使设计者更加熟练An droid的技术和其它在市场上的特点。 1.3开发环境 Eclipse、An droid SDK 320 第二章系统需求分析 2.1功能需求(用例图分析) 根据项目的目标,我们可获得项目系统的基本需求,以下从不同角度来描述系统的需求,并且使用用例图来描述,系统的功能需求,我们分成四部分来概括,即播放器的基本控制需要,播放列表管理需求,播放器友好性需求和播放器扩展卡需求。以下分别描述: 2.1.1播放器的用例图 假设安装了音乐播放器的用户是系统的主要设计对象,其拥有以下操作, 启动软件、播放音乐、暂停播放、停止播放、退出软件,其用例图如下 图2.1 播放器基本用例图 2.1.2用例分析

MP3音乐播放器软件课程设计报告(MFC)

课程设计说明书 课程设计名称:软件综合课程设计 课程设计题目:音频播放器程序的设计与实现学院名称:信息工程学院

电子信息工程专业课程设计任务书 正文: 目录 引言 (5) 一、设计程序的目的与要求 (6)

目的 (6) 要求 (6) 二、方案实现与调试 (6) 总体设计 (6) 1、实现功能 (6) 2、功能模块图 (7) 详细设计 (7) 1、界面布局 (7) 2、各模块功能设计 (8) 2.1处理“打开”按钮 (9) 2.2处理“播放”按钮 (9) 2.3处理“暂停”按钮 (9) 2.4处理“停止”按钮 (9) 2.5处理“音量”按钮 (10) 2.6处理“退出”按钮 (10) 3 操作步骤 (10) 三、课程设计分析与总结 (11) 分析 (11) 总结 (11) 附录 (13) 关键程序清单 (13)

参考文献 (20) 引言 MP3播放器的设计是利用MFC应用程序、媒体控制接口MIC 的基本知识而设计的。 1.1 MFC简介 MFC是Visual C++是核心。MFC类库将所有图形用户界面的元素如窗口、菜单和按钮等都以类的形式进行了封装,MFC AppWizard 向导根据继承性利用MFC派生出自己的类,并对Windows应用程序进行了分解,利用MFC派生类对应用程序重新进行组装,同时还规定了应用程序中各个MFC派生类对象之间的相互联系,实现了标准Windows应用程序的功能,这就是向导生成的所谓MFC应用程序框架。每个MFC类都包括了一些函数,函数放到类中,符合C++编程方法。这些函数,必须通过类定义对象才能使用[1]。 1.2 MCI简介 MCI(Media Control Interface)媒体控制接口是MircroSoft提供的一组多媒体设备和文件的标准接口,它的好处是可以方便地控制绝大多数多媒体设备包括音频、视频、影碟、录像等多媒体设备,而不

手把手教您用MFC做MP3音乐播放器

打开vc6.0,建立如图所示mfc工程文件 选择基于对话框的确定 删除所有空间,建立如图所示对话框

属性如下: 播放IDC_open; 添加IDC_fileopen; 暂停IDC_pause; 删除IDC_del; 停止IDC_stop; 退出IDC_exit; 音乐名编辑框IDC_filename;音量控制滑块IDC_SLIDER1;音量控制编辑框IDC_vol; 建立类向导对应如下:

在工程文件,右键,插入,bitmap位图 引入你想插入的背景图,必须是bmp格式的 进入你的dlg.cpp文件

在onpaint函数下添加代码 void CMp3Dlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); // Center icon in client rectangle int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; // Draw the icon dc.DrawIcon(x, y, m_hIcon);

音乐播放器设计文档

生产实习报告 题目:音乐播放器 学生姓名:张凡 学号: 201220220123 班级: 1222201 专业:数字媒体技术 指导教师:张金 2015年08 月08日

目录 一、引言 (3) 1.1 项目背景 (3) 1.2 项目研究的目的 (4) 1.3 安卓简介 (4) 二.功能分析 (5) 2.1 功能需求分析 (5) 2.2 系统性能需求 (6) 2.3 运行环境需求 (6) 三.程序详细设计 (6) 3.1 主界面的设计 (6) 3.2 播放界面设计 (11) 3.3 其他功能 (14) 四.调试与运行 (18) 4.1 调试 (18) 4.2 运行结果 (19) 五.总结 (21)

一、引言 1.1 项目背景 当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同各类,现在的市场上主要有三个手机操作系统,symbian,Windows mobile,以及谷歌的Android操作系统,其中占有开放源代码优势的Android系统有最大的发展前景。那么能否在手机上拥有自己编写的个性音乐播放器呢?答案是:肯定的,谷歌Android系统就能做到。本文的音乐播放器就是基于谷歌Android手机平台的播放器。 随着计算机的广泛运用,手机市场的迅速发展,各种音频视频资源也在网上广为流传,这些资源看似平常,但已经渐渐成为人们生活中必不可少的一部分了。于是各种手机播放器也紧跟着发展起来,但是很多播放器一味追求外观花哨,功能庞大,对用户的手机造成了很多资源浪费,比如CPU,内存等的占用率过高,在用户需要多任务操作时,受到了不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。针对以上各种弊端,选择了开发多语种的音频视频播放器,将各种性能优化,继承播放器的常用功能,满足一般用户(如听歌,看电影)的需求,除了能播放常见格式的语音视频文件,高级功能:还能播放RMVB格式的视频文件。此外,还能支持中文、英文等语言界面。

音乐播放器代码

以下为一款音乐播放器代码,长度(width="960")及高度(height="620")可调,自由切换百度随心听,贝瓦电台,豆瓣电台,音悦TV等多款音乐台。 代码一: 代码二:


以下为已嵌入音乐播放器代码的网页代码,复制以下代码创建index.html文件上传空间即可播放音乐,友情链接可自己修改。 音乐网_电视直播网