当前位置:首页 » 操作系统 » c播放器源码

c播放器源码

发布时间: 2022-10-01 11:29:17

❶ 如何用Qt制作音乐播放器,有源代码的,用c语言或C++

Qt Demo 里有两个例子,不仅有源代码,还有详细解释,好好看吧.

❷ 求一个C语言 编写的MP3播放器 源代码,能实现基本功能就好

已经发你邮箱。 C++的

❸ 求一C语言编写的 网络音乐播放器 类似于千千静听的源码

下载地址

1.
2.

一、常规问题

问:Unicode和Ansi版本是怎么回事,用一个更好?

Unicode是统一字符编码方式,Unicode版本的程序只能运行在NT/2000/XP/2003等新的Windows上,可以解决不同语言的显示问题,并且由于Unicode在这些系统上有更好的性能,所以当处理大量列表的时候也有很大的帮助。

千千静听内部处理字符串时(例如处理标签或列表时),大量使用系统默认的16位Unicode(即使是Ansi版本也一样,只是显示的时候才转换成Ansi),可以最大限度的提高处理的性能。

问:我是繁体XP(2000)的用户,可以使用千千静听吗?

可以,千千静听已经支持unicode,可以在非简体中文的Windows 2000/XP下使用,千千静听的界面不会出现乱码,但某些只包含ID3v1标签的MP3文件可能是显示乱码,可以尝试用“文件信息”里的内码转换功能来找到正确的内码。千千静听还提供了繁体和简体之间的标签和歌词转换。

问:安装新版本的时候,需要先删除以前的版本吗?

不用,直接覆盖安装就行了,千千静听可以兼容以前的参数设置,但某些功能可能因为升级而发生变化,绝大多数设置将继续有效。

问:为什么我的电脑上没有淡入淡出窗口的效果?

淡入淡出窗口以及半透明窗口效果都需要Windows2000或以上的操作系统才能支持。

问:我的窗口不小心拖动屏幕外面了,怎么办?

在Windows的系统栏(屏幕右下角的系统时间那里)右键点击主菜单,选“查看窗口”下面的“重新排列”,这个对普通模式和迷你模式都有效。

问:我想把千千支持的文件格式默认用千千来打开,怎么样最方便?

千千选项的最后一页“系统关联”,可以在你想要关联的某个格式,或某一类格式上打上勾,并且为这种或这一类格式指定一个文件类型图标,考虑到不同用户有不同的喜好,千千只提供图标自定义的功能,而不提供任何很多默认的图标。

问:为什么千千静听的皮肤这么少?

作者本人不擅长美工,又找不到专业人士帮助千千(因为千千免费)。其实千千静听的皮肤格式是比较简单的,是基于XML格式的用ZIP压缩一下而已,有兴趣的网友可以自己把皮肤文件改为.zip后缀后解开来看看,具体请看主页上皮肤 这一页。

问:为什么千千静听不支持Winamp的皮肤呢?

由于播放器的功能不相同,皮肤的设计和实现也不相同,很多千千静听需要的皮肤的元素Winamp的皮肤里都没有,例如千千静听需要歌词秀窗口,但Winamp本身就没有这个窗口的皮肤。论坛上有不少网友从winamp改造过来的皮肤,有兴趣不妨去看一下。

--------------------------------------------------------------------------------

二、播放
问:为什么在Win98下不支持播放CD?

Win98没有自带数字CD读取所需的驱动,可以到主页上去下载这个通用的驱动程序,地址是:

问:为什么我正在播放CD的时候,就不能转压CD为其它格式了?

因为Windows下以数字方式访问CD是独占的,所以同时只能由一个任何来访问CD。如果你想转压,请先停止播放。

问:千千有没有能自动在线查询到CD信息的功能?

4.3以后的版本,提供了freedb的在线查询CD信息的功能,但非正版的CD很可能找不到 。

问:为什么我用Windows Media Player制作的WMA文件无法播放?

Window Media Player在制作WMA文件时默认启用了"数字版权保护"机制,而要支持这种文件,必须得到微软的官方支持,考虑到手续比较麻烦所以目前还未实现对它的支持。所以在制作WMA文件的时候请尽量不要使用数字版权保护。

问:回放增益(自动音量)是怎么回事,应该如何使用?

"回放增益信息"是通过对音频文件的扫描分析检测到的一个最佳的增益值, 在以后的播放中如果使用这个增益值就可以把音频文件的音量调整到最佳的水平,从而减少甚至避免不同音频文件之间的音量差异.

可以通过手动扫描或自动扫描来得到这个信息,手动扫描就是在播放列表上右键某些文件,通过“扫描增益信息”来得到,或者选中千千选项的“播放”页中的“自动扫描”,这样在播放的同时,就会自动扫描没有这个信息的文件(如果已存在就不会再扫描),但要注意的是,如果播放被中断或用户拖动了播放进度,扫描就会停止,只有完整的播放一遍之后才能得出这个信息。

问:为什么我启用了回放增益以后,有些歌的音量不正常?

增益信息是以文件标签的形式保存在文件中的,可能是增益信息别的软件破坏了,所以导致音量不正常,这时,你需要手动重新扫描一下。

问:千千支持哪些音频输出方式?

千千支持Waveout(波形输出),DirectSound,Kernel Streaming(内核音频流),ASIO这四种方式,但在不同的系统和声卡环境下,并不是每一种都能支持的,特别是ASIO,更需要声卡本身的支持,一般只有比较高档的声卡才能支持。

问:这些音频输出方式各有什么特点?

Waveout是微软最早提出的音频流输出方式,所以它的兼容性也就好,几乎所有的声卡都支持;

DirectSound是微软DirectX的一个组合部分,它的兼容性也很不错,并且在有多个程序需要播放音频的时候能提供高可靠的保障,并且使用这种方式可以让千千静听更好的支持声音的淡入淡出效果;

Kernel Streaming是微软底层使用的音频流方式,具体更低的延时性,用于对延时性要求比较高的场和,因为更底层,所以效率更高,而且受别的程序的影响也更小,如果你用它来播放时,把系统音量里的波型“静音”,就可以实现只听到播放器的音乐,而不受其它程序的声音的影响。但Kernel Streaming同样对声卡和驱动有一定的要求。

ASIO是Steinberg提出来的比较新的音频流输入输出接口,一般用在对实时性要求很高的专业场合,对声卡的要求更高。

理论上来说,这四种方式对输出的音质没有任何影响,因为这些方式只是把声音的数字信号传输到声卡的数模转换器(D/A),而不会对信息有任何的改变。

问:像AxASIO之类的软件能让声卡不支持ASIO的电脑也使用ASIO,有什么好处吗?

AxASIO或ASIO Kernel-Streaming Driver之类的软件,都是在Kernel Streaming的基础上模拟出来的ASIO,所以效果反而没有直接用Kernel Streaming好,而且设备不当的话还影响正常的播放。

问:千千使用的MP3解码器是哪一个?

千千使用的是最新版本的mpg123-0.59s-pre,它是目前已经的开放源代码中最好的MP3解码器之一,无论是精度来是速度都是很出色的。千千早期版本使用的是MAD,但在个人PC上,MAD的解码速度比mpg123要慢70%甚至更多,而绝对精确和mpg123相比还略有差距,所以后来就改用mpg123了。

问:是不是把播放时的缓冲长度设得越高播放越流畅?

一般来说,只要设置1000-2000毫秒的长度就可以了,太长只会增加资源占用。

问:播放时的输出比特是越高越好吗?

不是,目前几乎所有的音频源都来自16比特的CD,而且一般的声卡只支持16比特的输出,所以基本上选用16比特就可以满足绝大多数的要求了,千千的“原始比特”就是指音频本身的比特数,因为碰到有些24比特的WMA,千千就会自动选择24比特输出。

要注意的是,很多支持ASIO的声卡,最佳的输出比特数是32或24,所以这时选择相对应的比特数就能提供最佳的性能(因为不需要再做额外的转换)。

问:采样频率转换一般用在什么场合?

对于AC’97规范的声卡(主板自带的基本上都是这类声卡),硬件只支持48000Hz这一种采样频率,而CD的音频是44100Hz的,从CD转换过来的MP3等大多部格式也是44100Hz的,也就是说在这种类型的声卡上,在数字信号转成模拟信号之前,还要对采样频率做一次转换,如果驱动程序提供的转换程序不是很好(据说为了提高性能,都采用比较一般的算法),就可以尝试用播放器提供的软件转换功能。但用于这类声卡来说,本身的输出音质就不是很理想,所以用不用更好的转换算法意义并不大,而且由于软件转换需要CPU做更多的事情,性能肯定受到影响。

问:高频抖动又是什么意思?

一般的音频编解码器,都是用高比特来处理16比特的音源的,在最终播放输出的时候,又得把高比特降低到16比特来输出(因为一般的声卡只支持16比特的输出),所以就会有量化的副作用,就好比把一幅真彩的图片转成256色,如果转换的程序不好,就会有大块的很难看的色块出现,于是就产生了一种抖动的技术,就是采用插值算法,在转换前用一些随机的噪声来处理一下,以减少量化带来的副作用。

一般来说,如果音源和输出时的比特数相同,就不需要再用抖动了。并且抖动只对低于16比特的输出比较好的效果。

--------------------------------------------------------------------------------

三、文件标签
问:什么是文件标签,有什么用途?

文件标签就是指一个歌曲文件的标题(歌名)、艺术家(演唱者)等的信息,就好像是一个人的姓名一样。有了文件标签,就能准确的知道这首歌的来源,就能通过这些信息准确的本机或网上查找到相应的歌词文件。

问:如何填写或编辑文件标签?

通过千千的“文件信息”对话框,就能编辑标签信息。有两种方法可以显示这个对话框:1。在播放某首歌的时候,在主窗口上右键的主菜单里选择“查看窗口”里的“文件信息”,这时显示的就是当前正在播放的这首歌的文件信息;2。在播放列表里选中某首或某些歌曲,在右键菜单中选择“文件信息”,就能显示选中文件的信息了,如果你选的是多首歌,就能同时编辑多首歌的信息。

问:千千支持哪些类型的标签?

千千几乎支持所有已知的通用标签类型,比如对于MP3文件,就支持ID3v1/ID3v2、APE;对于Ogg文件,就支持Ogg本身的Vorbis标签;而对于APE、MPC之类的新型文件格式,同样支持APE标签,对于iTunes的MP4/M4A格式,千千也同样支持它的标签类型;要注意的是,WMA的标签的写入需要安装微软的media9或更新的版本,但读取就不需要任何额外的支持了;而对于RM文件,千千目前只支持最基本的几个标签字段。

问:千千嵌入的歌词是怎么回事,和标签有关吗?

千千嵌入的歌词就是以标签的形式保存在歌曲文件里的,字段名是"Lyrics",对标签的操作对嵌入的歌词同样有效。

问:如何在播放列表的歌曲标题里显示我想要显示的标签字段?

可以在千千选项里的“播放列表”页里设置“有标签时的格式”,只要用“%(英文字段名)”这样的字符串就能表示任何你想要显示的字段了,当然前提是你得知道这些字段的英文名称,你可以通过上面讲到的“文件信息”对话框的“高级模式”来看到所有这个文件里已存在的标签字段的名字和值。

问:某些文件显示的是乱码的标签,有没有办法改正?

可以尝试使用“文件信息”里的内码转换功能来找到正确的内码。

问:为什么千千静听在列表里查找文件比较慢?

为了节省资源占用并且提高文件添加到列表的速度,千千静听默认是当播放列表在显示某个音频文件时才会读取信息,而像foobar2000这样的播放器则是在第一次添加时就读取了所有文件的信息,所以查找时就不需要再读取了。 事实上千千静听也提供了和foobar2000一样的文件信息操作方式,请在选项里的“播放列表”页中将读取信息改为“添加”时,并且选上“缓存文件信息到播放列表”。

--------------------------------------------------------------------------------

四、歌词
问:怎么使用歌词秀,为什么我自己从网上下载的歌词就不能显示?

歌词文件有一定的格式,一般以LRC和TXT后缀,每句歌词前面有[00:00.00]这样的时间标签,如果没有这些标签的歌词是无法显示的,可以用千千静听自带的歌词编辑器来为每句歌词加入时间标签,保存后就可以正常显示了。建议把歌词文件以“歌手名 - 歌曲名.lrc”这样的方式命名,再把存放这些歌词的目录加到千千的本地搜索文件夹里,以后就不用再一一关联了,当然你的歌曲文件应该也有相应的歌手名和歌曲名信息,这样才能保证播放器找到正确的歌词文件。

问:为什么歌词下载会失败?

有以下几种可能的原因:
1.文件信息不正确,以至于在搜索时无法正确匹配;
2.歌曲太新,以至于这些歌词网站都还没有收集歌词;
3.如果你安装了防火墙,可能网络请求被过滤而无法连接到歌词服务器;
4.歌词服务器可能出现问题,或者正在维护。

问:为什么没有让用户自己输入或选择歌词网站的功能?

歌词下载网站的搜索和下载方式都不相同,如果要实现用播放器来自动处理需要编写相应的搜索和下载程序,并不是简单的输入一个网址就行了。(注:用网络搜索到的歌词都是纯文本的歌词,无法直接用于歌词秀)

问:为什么我下载了正确的歌词,但下次播放还是显示错误的?

千千加载歌词的顺序是内嵌歌词->关联歌词->本地搜索->在线搜索,很可以内嵌或关联了错误的歌词,或在本机上有错误的歌词文件,这时你可以按上面的顺序来检查优先级高的歌词,如果发现有错误,就删除或修改就行了。具体操作请看歌词秀的右键菜单或选项里的和歌词相关的参数。

问:我想让下载后的歌词自动以歌曲相同的文件名保存,并且直接保存到歌曲所在的目录,这样我找起来很方便,怎样才能做到?

在千千选项的“歌词搜索”页里,有相关的参数可以设置。

问:我的标签信息和文件名都是繁体的,能找到简体的歌词吗?

如果使用的是Unicode版本,并且是2000以上的系统,就可以实现,但在线搜索只有炫网的搜索插件才支持,另外两个网站的搜索引擎不支持简繁体的自动识别。

--------------------------------------------------------------------------------

五、其它
问:我想在播放列表里直接删除硬盘上的文件,“物理删除”为什么是灰色的?

千千提供了物理删除的功能,但考虑到用户可能会误操作,所以默认是禁用的,你可以在千千选项的“播放列表”页中找到启用这项功能的选项。

问:我想从播放列表里直接到文件拖动到其它地方,比如我的U盘或MP3机,可以吗?

可以,在播放列表是选中要操作的文件,注意用左键按住标题(否则就变成选选择文件了,这和windows的资源管理器操作一样),拖动文件到你想要到地方,如果想复制,就按再Ctrl键,操作和资源管理器完全一致。用这种方法,你甚至可以直接把文件拖到回收站上而删除你不想要的文件。

问:我想把CD压缩成MP3、WMA或APE,用千千静听可以做到吗?

可以。通过添加文件或添加目录来把CD上的所有音轨文件拖到播放列表里面,因为数字方式抓取音轨是独占访问的,所以如果正在播放CD上的文件或是音轨,请先停止播放,然后在播放列表里选中要转压的文件(多选就可以进行批量转换),点右键菜单的“转换格式”命令就可以转换了,如果在压缩格式列表里没有找到MP3或WMA,请重新安装千千静听。用同样的方式可以转换任何千千静听可以播放的文件(例如APE等格式转换到MP3、WMA)。

问:为什么其它的播放器对RM的支持比千千静听好?

其它播放器用的是Real Player的播放器核心,其实就相当于在使用Real Player在播放,这和直接用Real Player来播放没多大区别,而且这个核心占用内存实在是比较厉害,所以作者不想采用这种方式。其实Real公司对RMF文件的格式只公开了部分内容,有些细节还没有完全公开,特别是和编码格式有关的部分,在现有的条件下,千千静听只能做到这样了,希望将来能得到更多的技术支持。

问:如果我的电脑上没有安装Windows Media Player 9或更新的版本,还能播放WMA吗?

当然可以,只要在安装时选中支持WMA就行了,千千静听支持WMA只用到了微软的WMA解码器组件,就是安装目录下的wmadmod.dll文件,只有400K左右J,而且还支持WMA文件信息的读取。

问:我要把一台电脑上的千千静听拷到另一台电脑上使用,所有的设置都还有用吗?

千千静听的设置都保存在安装后的目录下的TTPlayer.xml文件下,只要把这个文件和程序一起复制别的电脑上就可以了,根本就不需要重新安装,当然有些目录可能会因为不同的电脑而不一样,需要注意一下(比如歌词下载的保存目录会因为电脑的不同而无效)。

问:我对INI文件比较熟悉,为什么不用INI文件来保存这些设置?

INI是比较“过时”的配置文件,读取和分析都比较慢,扩展性也比较差,而XML是最好的用于保存各种信息的格式,而且现在对它的支持也越来越广泛,所以用XML是更好的选择。

问:为什么我在千千静听里使用DFX看不到DFX的窗口?

如果你的电脑上安装了Winamp,并且DFX也是安装在Winamp上,那只要把Winamp的Plugins目录设置为千千的Winamp音效目录应该就不会有任何问题了(默认情况下千千会检测到Winamp的插件目录并且自动设置),如果你没有安装Winamp,而把DFX安装到千千的目录上,你就应该手动把DFX安装后的目录下的Plugins目录设置为千千的Winamp音效插件目录。

问:为什么不支持视频?

作者设计千千静听的原则就是用来播放音频,至于要看到视频图像,有更多更好的选择,相信大家心中已经都有自己最喜爱的视频播放器了。

问:千千静听支持哪些网络协议的点播?

目前千千静听支持HTTP和MMS方式的在线点播,其中MMS协议需要Media Player 7或更高的版本支持。暂时不支持网上比较流行的RTSP协议。

问:千千静听是用什么语言写的,为什么支持这么多的格式还这么小巧?

千千静听是用VC6编写的,如果你还知道WTL,那么作者可以告诉你,界面是用WTL来编写的,相对于MFC的庸肿,WTL更适合编写快速、精简并且占用资源少的程序。当然很多音频编码库是用C语言来写的,这样更加高效而且小巧。

问:随着用的人越来越多,作者是否会考虑收费或者注册?

作者不会因为任何理由违背承诺来向用户收费!

问:为什么不在网站上做些宣传,好让更多的人知道?

我一直改进千千的理由不是为了钱,所以用的人多了对我本人来说也不见得就是好事,一个人做软件毕竟很辛苦,用的人太多引来的问题和麻烦也就更多。

问:我经常在某些论坛上看到推荐千千静听的贴子,有人说这是作者请的“枪手”在推荐?

这是最可笑的问题,但确实有不少网友来问!

我的回答是“绝对不是”,一方面上面也说过了,我本人对宣传不感兴趣,另一方面,我也请不起所谓的“枪手”。问问你自己或你身边的朋友,你们是如何知道千千静听的,是在媒体上看到的广告?是在论坛上看到大肆的推荐?还是朋友直接推荐给你的?

作者并不反对网友到不同的论坛上推荐千千静听,如果你认为千千是一个你喜欢的并且值得推荐的软件,那么有什么理由不让你去推荐给更多的人用呢?!

问:为什么取名叫“千千”,好像不太响亮哦?

作者很喜欢陈慧娴的歌,相信大家都知道为什么会用“千千”这个词了吧。其实当时之所以会自己写一个播放器也是因为觉得Winamp很多地方不太好用,总觉得要是有一个自己的播放器来听自己喜欢的歌那该多好啊,所以就有了今天的千千静听,希望大家会喜欢。

❹ 网页播放器源代码 问题,,

<EMBED autostart="true" SRC="文件地址" width="500" height="300" loop="-1">

Realplay 的html播放器代码

[code]
<object id="player" name="player" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width="400" height="272">
<param name="_ExtentX" value="18415">
<param name="_ExtentY" value="9102">
<param name="AUTOSTART" value="-1">
<param name="SHUFFLE" value="0">
<param name="PREFETCH" value="0">
<param name="NOLABELS" value="-1">
<param name="SRC" value="bt.rm">
<param name="CONTROLS" value="Imagewindow">
<param name="CONSOLE" value="clip1">
<param name="LOOP" value="0">
<param name="NUMLOOP" value="0">
<param name="CENTER" value="0">
<param name="MAINTAINASPECT" value="0">
<param name="BACKGROUNDCOLOR" value="#000000">
</object><br>
<object ID="RP2" CLASSID="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" WIDTH="400" HEIGHT="57">
<param name="_ExtentX" value="18415">
<param name="_ExtentY" value="1005">
<param name="AUTOSTART" value="-1">
<param name="SHUFFLE" value="0">
<param name="PREFETCH" value="0">
<param name="NOLABELS" value="-1">
<param name="SRC" value="bt.rm">
<param name="CONTROLS" VALUE="ControlPanel,StatusBar">
<param name="CONSOLE" value="clip1">
<param name="LOOP" value="0">
<param name="NUMLOOP" value="0">
<param name="CENTER" value="0">
<param name="MAINTAINASPECT" value="0">
<param name="BACKGROUNDCOLOR" value="#000000">
</object>
[/code]

===================================================================
===================================================================
RealPlayer
代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>RealMedia</title>
</head>

<body>
<p>RealMedia</p>
<p> <object id="RVOCX" classid="CLSID:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width="320" height="172">
<param name="SRC" value="realmedia.rm">
<param name="CONTROLS" value="ImageWindow">
<param name="CONSOLE" value="cons">
<embed autostart="true" src="realmedia.rm" type="audio/x-pn-realaudio-plugin" width="320" height="172" controls="ImageWindow" console="cons"> </embed>
<param name="autostart" value="true">
</object>
</p>
<p>
<object id=RVOCX classid="CLSID:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA" width="320" height="30" >
<param name="SRC" value="realmedia.rm">
<param name="CONTROLS" value="ControlPanel">
<param name="CONSOLE" value="cons">
<embed src="realmedia.rm" type="audio/x-pn-realaudio-plugin" width="320" height="30" controls="ControlPanel" console="cons" > </embed>
</object>& </p>
</body>
</html>

Windows Media Player
代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Windows Media</title>
</head>

<body>
<p>Windows Media</p>
<p><object id="PlayerEx2" classid="clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6" width="320" height="217">
<param name="autoStart" value="true" />
<param name="URL" value="windowsmedia.wmv" />
<embed autostart="true" src="windowsmedia.wmv" type="video/x-ms-wmv" width="320" height="217" controls="ImageWindow" console="cons"> </embed>
</object>&</p>
</body>
</html>
======================================================================
======================================================================
15:08 2006-8-5 网友 nweisha 回复
<object classid=clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95 width=190 height=70>
<param name=showstatusbar value=1>
<param name=autostart value=false>
<param name=filename value=music/107442.wma>
<embed src=music/107442.wma width="190" height="70"></embed>
</object>

你可以改大点,这个是放无图的wma,你可以改成wmp,尺寸自己改了。
======================================================================
======================================================================
15:30 2006-8-5
-- 通用播放器源代码
演示地址:

www.51837.com/film/film.asp?url=http://www.51837.com/film/sz.rm&type=rm

由film.asp传递参数给play.asp文件并播放

play.asp源代码如下:

<html>
<head>
<title>[视频点播]</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" href="../inc_file/51837.css" type="text/css">
</head>
<body leftmargin="0" topmargin="0" class="high" bgcolor="#337b49"><center>
<% if request("type")="rm" then%>
<object id="vid" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width=427 height=300>
<param name="_ExtentX" value="11298">
<param name="_ExtentY" value="7938">
<param name="AUTOSTART" value="-1">
<param name="SHUFFLE" value="0">
<param name="PREFETCH" value="0">
<param name="NOLABELS" value="-1">
<param name="SRC" value="<%=request("url")%>">
<param name="CONTROLS" value="Imagewindow">
<param name="CONSOLE" value="clip1">
<param name="LOOP" value="0">
<param name="NUMLOOP" value="0">
<param name="CENTER" value="0">
<param name="MAINTAINASPECT" value="0">
<param name="BACKGROUNDCOLOR" value="#000000">
</object><BR><object id="vid2" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width=427 height=30>
<param name="_ExtentX" value="11298">
<param name="_ExtentY" value="794">
<param name="AUTOSTART" value="-1">
<param name="SHUFFLE" value="0">
<param name="PREFETCH" value="0">
<param name="NOLABELS" value="-1">
<param name="SRC" value="<%=request("url")%>">
<param name="CONTROLS" value="ControlPanel">
<param name="CONSOLE" value="clip1">
<param name="LOOP" value="0">
<param name="NUMLOOP" value="0">
<param name="CENTER" value="0">
<param name="MAINTAINASPECT" value="0">
<param name="BACKGROUNDCOLOR" value="#000000">
</object>
</object><%else%>
<object id="MediaPlayer" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6"
codebase=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701
standby="Loading Microsoft? Windows Media? Player components..." type="application/x-oleobject" width=427 height=330>
<param name="URL" value="<%=request("url")%>">
<param name="UIMode" value="full">
<param name="AutoStart" value="true">
<param name="Enabled" value="true">
<param name="enableContextMenu" value="true">
</object><%end if%><font color=#ffffff>注意:如不能观看者请下载 <a href="rp8-cn-setup.exe"><font color=#ffffff>RealPlayer V8.0</font></a> <a href="mpsetup_9x.exe"><font color=#ffffff>Windows Media Player V9.0</font></a></font></center></body></html>
======================================================================================================================================================================================================================================================================================
======================================================================================================================================================================================================================================================================================
15:37 2006-8-5
网页背景音乐代码:

将这段代码插入到您的<head></head>之间
当您打开网站时即可听到背景音乐:
<bgsound src=china.mid loop="-1">
这种当网页最小化之后,音乐会消失

网页背景音乐的代码:
<embed src="http://XXX.com/XXX.mp3" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="1" height="1"></embed>
1.mid表示音效文件
<embed src="1.swf" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="1" height="1"></embed>
上面的网页背景音乐代码可以加入FLASH动画的绝对地址(或相对地址)
<embed width=1 height=1 autostart="true" loop="true" controls=PlayButton console=clip1 nolabels=true type="audio/x-pn-realaudio-plugin" src="1.ram"> </embed>
ram格式的音乐文件专用网页背景音乐代码:
<embed src="1.mid" align="center" border="0" width="1" height="1" width="100" autostart="true" loop="true">
指定播放器的大小(width、heigh)、是否自动(autostart标记)、是否循环播放(loop标记),而浏览者则可以自主地决定是否播放音乐。
此代码可以当作网页中插入FLASH动画的代码用。只要把1.mid替换为FLASH动画的相对地址或决对地址就OK了。
<embed src="1.mp3" align="center" border="0" width="1" height="1" width="100" autostart="true" loop="true">
此代码可以加mp3形式的音乐为网页背景音乐
<EMBED src="http://XXX.com/XXX.mp3" width="0" height="0" border=0 autostart="ture" loop="ture"></EMBED>
1.mid表示音效文件
<bgsound src="1.mid" loop=3>
表示将1.mid音效文件插入到页面为背景音乐,并循环播放3次。
<embed src="1.mid" hidden="true">
1.mid表示音效文件
<bgsound src="1.mid" loop="infinte">
1.mid表示音效文件
<embed src="1.mid" hidden="true" loop="true">
1.mid表示音效文件
<bgsound src=1.mid loop="-1">
1.mid表示音效文件

网页音乐播放器代码
rm文件在线播放
<embed height=25 src=www.xiake.com/biyun/ren/a.rm type=audio/x-pn-realaudio-plugin width=50 autostart="false" controls="PlayButton">
autostart="false" 打开页面时处于候命状态,autostart="true" 打开页面时马上听声音 height=25 width=50 有不同数值,播放器面板有些不同
midi、au、avi文件在线播放
<EMBED SRC="http://www.shunde.net.cn/~biyun/wlsd/wy/yinyue/H/1.mid"; width="47" height="24" AUTOSTART=TRUE>autostart="false" 打开页面时处于候命状态,autostart="true" 打开页面时马上听声音 height=25 width=50 有不同数值,播放器面板有些不同
asf文件在线播放
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
</head>
<body topmargin="0" leftmargin="0">
<object classid=clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95 codebase=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=7.0 height=53 id=NSPlay0 name=NSPlay type=application/x-oleobject width=87 VIEWASTEXT standby="Loading Microsoft Windows Media Player components..." border="0"><param name="AudioStream" value="-1">
<param name="AutoSize" value="0">
<param name="AutoStart" value="1">
<param name="AnimationAtStart" value="-1">
<param name="AllowScan" value="-1">
<param name="AllowChangeDisplaySize" value="-1">
<param name="AutoRewind" value="0">
<param name="Balance" value="0">
<param name="BaseURL" value>
<param name="BufferingTime" value="10">
<param name="CaptioningID" value>
<param name="ClickToPlay" value="-1">
<param name="CursorType" value="0">
<param name="CurrentPosition" value="-1">
<param name="CurrentMarker" value="0">
<param name="DefaultFrame" value>
<param name="DisplayBackColor" value="0">
<param name="DisplayForeColor" value="65280">
<param name="DisplayMode" value="0">
<param name="DisplaySize" value="1">
<param name="Enabled" value="-1">
<param name="EnableContextMenu" value="-1">
<param name="EnablePositionControls" value="-1">
<param name="EnableFullScreenControls" value="-1">
<param name="EnableTracker" value="-1">
<param name="Filename" value="http://music.sdcatv.net/biyun/wlsd/down/yin/gequ/asf/5.asf";>
<param name="InvokeURLs" value="-1">
<param name="Language" value="-1">
<param name="Mute" value="0">
<param name="PlayCount" value="1">
<param name="PreviewMode" value="0">
<param name="Rate" value="1">
<param name="SAMILang" value>
<param name="SAMIstyle" value>
<param name="SAMIFileName" value>
<param name="SelectionStart" value="-1">
<param name="SelectionEnd" value="-1">
<param name="SendOpenStateChangeEvents" value="-1">
<param name="SendWarningEvents" value="-1">
<param name="SendErrorEvents" value="-1">
<param name="SendKeyboardEvents" value="0">
<param name="SendMouseClickEvents" value="0">
<param name="SendMouseMoveEvents" value="0">
<param name="SendPlayStateChangeEvents" value="-1">
<param name="ShowCaptioning" value="0">
<param name="ShowControls" value="-1">
<param name="ShowAudioControls" value="0">
<param name="ShowDisplay" value="0">
<param name="ShowGotoBar" value="0">
<param name="ShowPositionControls" value="-1">
<param name="ShowStatusBar" value="-1">
<param name="ShowTracker" value="-1">
<param name="TransparentAtStart" value="-1">
<param name="VideoBorderWidth" value="0">
<param name="VideoBorderColor" value="0">
<param name="VideoBorder3D" value="-1">
<param name="Volume" value="0">
<param name="WindowlessVideo" value="0">
</object>
其中<param name="AutoStart" value="0"> 0为打开页面处于待命状态,为1时打开页面直接播放 </body>
</html>

流式收听mp3方法:
http://*.mp3,http://*.mp3,http://...?a href="http://" target="_blank">http://*.mp3,
把上面的的文件另存为*.m3u,就可实现在线播放*.mp3(支持连续播放)

mpeg影象在线播放:
等等,让它下载<img border="0" dynsrc="http://music.cnvnet.com/video/0321.mpeg ;
" start="fileopen">

rm影像在线播放 代码:
<object id="vid" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width=114 height=100>
<param name="_ExtentX" value="3016">
<param name="_ExtentY" value="2646">
<param name="AUTOSTART" value="-1">
<param name="SHUFFLE" value="0">
<param name="PREFETCH" value="0">
<param name="NOLABELS" value="-1">
<param name="SRC" value="http://music.cnvnet.com/mtv/20010618/002.ram";>
<param name="CONTROLS" value="Imagewindow">
<param name="CONSOLE" value="clip1">
<param name="LOOP" value="0">
<param name="NUMLOOP" value="0">
<param name="CENTER" value="0">
<param name="MAINTAINASPECT" value="0">
<param name="BACKGROUNDCOLOR" value="#000000">
</object>

加几个控制器
<object id="vid" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width=427 height=300>
<param name="_ExtentX" value="11298">
<param name="_ExtentY" value="7938">
<param name="AUTOSTART" value="-1">
<param name="SHUFFLE" value="0">
<param name="PREFETCH" value="0">
<param name="NOLABELS" value="-1">
<param name="SRC" value="http://music.cnvnet.com/mtv/20010618/001.ram";>
<param name="CONTROLS" value="Imagewindow">
<param name="CONSOLE" value="clip1">
<param name="LOOP" value="0">
<param name="NUMLOOP" value="0">
<param name="CENTER" value="0">
<param name="MAINTAINASPECT" value="0">
<param name="BACKGROUNDCOLOR" value="#000000">
</object> <object id="vid2" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width=427 height=30>
<param name="_ExtentX" value="11298">
<param name="_ExtentY" value="794">
<param name="AUTOSTART" value="-1">
<param name="SHUFFLE" value="0">
<param name="PREFETCH" value="0">
<param name="NOLABELS" value="-1">
<param name="SRC" value="http://music.cnvnet.com/mtv/20010618/001.ram";>
<param name="CONTROLS" value="ControlPanel">
<param name="CONSOLE" value="clip1">
<param name="LOOP" value="0">
<param name="NUMLOOP" value="0">
<param name="CENTER" value="0">
<param name="MAINTAINASPECT" value="0">
<param name="BACKGROUNDCOLOR" value="#000000">
</object>

<embed src="http://wmt2.aboutmedia.com.tw/Aboutmedia/warner/mtv/naying-021011_01v_120k.wmv"
autostart="true" loop="true" width="200" height="150" >
把这个网址http://wmt2.aboutmedia.com.tw/Aboutmedia/warner/mtv/naying-021011_01v_120k.wmv换成你要看的电影就行了

有图像的rm格式:
<OBJECT classid='clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA' height=288 id=video1 width=305 VIEWASTEXT>
<param name='_ExtentX' value='5503'>
<param name='_ExtentY' value='1588'>
<param name='AUTOSTART' value='-1'>
<param name='SHUFFLE' value='0'>
<param name='PREFETCH' value='0'>
<param name='NOLABELS' value='0'>
<param name='SRC' value='http://media.ct.e.cn/ram/new/xiaoxin1.ram'>
<param name='CONTROLS' value='Imagewindow,StatusBar,ControlPanel'>
<param name='CONSOLE' value='RAPLAYER'>
<param name='LOOP' value='0'>
<param name='NUMLOOP' value='0'>
<param name='CENTER' value='0'>
<param name='MAINTAINASPECT' value='0'>
<param name='BACKGROUNDCOLOR' value='#000000'>
</OBJECT>
无图像的rm格式:如相声,歌曲。。。
<object ID='video2' WIDTH='300' HEIGHT='62' CLASSID='CLSID:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA'>
<param name='_ExtentX' value='9657'>
<param name='_ExtentY' value='847'>
<param name='AUTOSTART' value='-1'>
<param name='SHUFFLE' value='0'>
<param name='PREFETCH' value='0'>
<param name='NOLABELS' value='0'>
<param name='SRC' value='http://210.242.69.206/ramgen/broadcast/BCC/encoder/hipop.rm'>
<param name='CONTROLS' value='StatusBar,controlpanel'>
<param name='CONSOLE' value='Clip1'>
<param name='LOOP' value='0'>
<param name='NUMLOOP' value='0'>
<param name='CENTER' value='0'>
<param name='MAINTAINASPECT' value='0'>
<param name='BACKGROUNDCOLOR' value='#000000'>
</object>
最简单的media格式的播放器。。自动识别有无图像,但是版本是你机器的!
<embed src='mms://61.175.132.221/tv/mtv/f4/makeawish.wmv' width=200 height=200 autostart=true loop=true></embed>
有图像的media播放器,自动调用网上的插件。
<object id=nstv classid='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6' width=280 height=265 codebase=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701standby=Loading Microsoft? Windows Media? Player components... type=application/x-oleobject>
<param name='URL' value='http://202.99.11.42/xiangsheng/ymjr.wma'>
<PARAM NAME='UIMode' VALUE='full'><PARAM NAME='AutoStart' VALUE='true'>
<PARAM NAME='Enabled' VALUE='true'>
<PARAM NAME='enableContextMenu' VALUE='false'>
<param name='WindowlessVideo' VALUE='true'></object>
无图像的media播放器。。。同上。
<object id=nstv classid='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6' width=280 height=60 codebase=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701standby=Loading Microsoft? Windows Media? Player components... type=application/x-oleobject>
<param name='URL' value='http://202.99.11.42/xiangsheng/ymjr.wma'>
<PARAM NAME='UIMode' VALUE='full'><PARAM NAME='AutoStart' VALUE='true'>
<PARAM NAME='Enabled' VALUE='true'>
<PARAM NAME='enableContextMenu' VALUE='false'>
</object>
只是界面不同的media的调插件播放器。。建议不用这个,,你可以看!

❺ 求一份c语言的RTP音频传输源码

1.项目前期工作(配置好环境)
2.发送端文件编写(见下面的send.cpp)
3.接收端文件编写(见下面的receive.cpp)
4.编译文件
(1)发送端
g++-osendsend.cpp-I/usr/local/include/jrtplib3/-ljrtp
(2)接收端
g++-oreceivereceive.cpp-I/usr/local/include/jrtplib3/-ljrtp
附录:
(1)send.cpp
[cpp]
#include"rtpsession.h"
#include"rtppacket.h"
#include"rtpudpv4transmitter.h"
#include"rtpipv4address.h"
#include"rtpsessionparams.h"
#include"rtperrors.h"
#include"rtpmemorymanager.h"
#ifndefWIN32
#include<netinet/in.h>
#include<arpa/inet.h>
#else
#include<winsock2.h>
#endif//WIN32
#include<stdlib.h>
#include<stdio.h>
#include<iostream>
#include<string>

//
//.Ifso,itdisplaysanerror
//messageandexists.
//

voidcheckerror(intrtperr)
{
if(rtperr<0)
{
std::cout<<"ERROR:"<<RTPGetErrorString(rtperr)<<std::endl;
exit(-1);
}
}

//
//Themainroutine
//

#ifdefRTP_SUPPORT_THREAD

classMyMemoryManager:publicRTPMemoryManager
{
public:
MyMemoryManager()
{
mutex.Init();
alloccount=0;
freecount=0;
}
~MyMemoryManager()
{
std::cout<<"alloc:"<<alloccount<<"free:"<<freecount<<std::endl;
}
void*AllocateBuffer(size_tnumbytes,intmemtype)
{
mutex.Lock();
void*buf=malloc(numbytes);
std::cout<<"Allocated"<<numbytes<<"bytesatlocation"<<buf<<"(memtype="<<memtype<<")"<<std::endl;
alloccount++;
mutex.Unlock();
returnbuf;
}

voidFreeBuffer(void*p)
{
mutex.Lock();
std::cout<<"Freeingblock"<<p<<std::endl;
freecount++;
free(p);
mutex.Unlock();
}
private:
intalloccount,freecount;
JMutexmutex;
};

#else

classMyMemoryManager:publicRTPMemoryManager
{
public:
MyMemoryManager()
{
alloccount=0;
freecount=0;
}
~MyMemoryManager()
{
std::cout<<"alloc:"<<alloccount<<"free:"<<freecount<<std::endl;
}
void*AllocateBuffer(size_tnumbytes,intmemtype)
{
void*buf=malloc(numbytes);
std::cout<<"Allocated"<<numbytes<<"bytesatlocation"<<buf<<"(memtype="<<memtype<<")"<<std::endl;
alloccount++;
returnbuf;
}

voidFreeBuffer(void*p)
{
std::cout<<"Freeingblock"<<p<<std::endl;
freecount++;
free(p);
}
private:
intalloccount,freecount;
};

#endif//RTP_SUPPORT_THREAD

intmain(void)
{
#ifdefWIN32
WSADATAdat;
WSAStartup(MAKEWORD(2,2),&dat);
#endif//WIN32

MyMemoryManagermgr;
RTPSessionsess(&mgr);
uint16_tportbase,destport;
uint32_tdestip;
std::stringipstr;
intstatus,i,num;

//First,we'

std::cout<<"Enterlocalportbase:"<<std::endl;
std::cin>>portbase;
std::cout<<std::endl;

std::cout<<"EnterthedestinationIPaddress"<<std::endl;
std::cin>>ipstr;
destip=inet_addr(ipstr.c_str());
if(destip==INADDR_NONE)
{
std::cerr<<"BadIPaddressspecified"<<std::endl;
return-1;
}

//Theinet_,but
//,soweuseacallto
//ntohl
destip=ntohl(destip);

std::cout<<"Enterthedestinationport"<<std::endl;
std::cin>>destport;

std::cout<<std::endl;
std::cout<<":"<<std::endl;
std::cin>>num;

//Now,we'llcreateaRTPsession,setthedestination,sendsome
//packetsandpollforincomingdata.

;
RTPSessionParamssessparams;

//IMPORTANT:,otherwise
//
//Inthiscase,we',sowe'll
//putthetimestampunitto(1.0/10.0)
sessparams.SetOwnTimestampUnit(1.0/10.0);

sessparams.SetAcceptOwnPackets(true);
transparams.SetPortbase(portbase);
status=sess.Create(sessparams,&transparams);
checkerror(status);

RTPIPv4Addressaddr(destip,destport);

status=sess.AddDestination(addr);
checkerror(status);

for(i=1;i<=num;i++)
{
printf(" Sendingpacket%d/%d ",i,num);

//sendthepacket
status=sess.SendPacket((void*)"1234567890",10,0,false,10);
checkerror(status);

sess.BeginDataAccess();

//checkincomingpackets
if(sess.GotoFirstSourceWithData())
{
do
{
RTPPacket*pack;

while((pack=sess.GetNextPacket())!=NULL)
{
//Youcanexaminethedatahere
printf("Gotpacket! ");

//wedon'tlongerneedthepacket,so
//we'lldeleteit
sess.DeletePacket(pack);
}
}while(sess.GotoNextSourceWithData());
}

sess.EndDataAccess();

#ifndefRTP_SUPPORT_THREAD
status=sess.Poll();
checkerror(status);
#endif//RTP_SUPPORT_THREAD

RTPTime::Wait(RTPTime(1,0));
}

sess.BYEDestroy(RTPTime(10,0),0,0);

#ifdefWIN32
WSACleanup();
#endif//WIN32
return0;
}
(2)receive.cpp
[cpp]viewplain
#include"rtpsession.h"
#include"rtppacket.h"
#include"rtpudpv4transmitter.h"
#include"rtpipv4address.h"
#include"rtpsessionparams.h"
#include"rtperrors.h"
#ifndefWIN32
#include<netinet/in.h>
#include<arpa/inet.h>
#else
#include<winsock2.h>
#endif//WIN32
#include"rtpsourcedata.h"
#include<stdlib.h>
#include<stdio.h>
#include<iostream>
#include<string>

//
//.Ifso,itdisplaysanerror
//messageandexists.
//

voidcheckerror(intrtperr)
{
if(rtperr<0)
{
std::cout<<"ERROR:"<<RTPGetErrorString(rtperr)<<std::endl;
exit(-1);
}
}

//
//Thenewclassroutine
//

classMyRTPSession:publicRTPSession
{
protected:
voidOnNewSource(RTPSourceData*dat)
{
if(dat->IsOwnSSRC())
return;

uint32_tip;
uint16_tport;

if(dat->GetRTPDataAddress()!=0)
{
constRTPIPv4Address*addr=(constRTPIPv4Address*)(dat->GetRTPDataAddress());
ip=addr->GetIP();
port=addr->GetPort();
}
elseif(dat->GetRTCPDataAddress()!=0)
{
constRTPIPv4Address*addr=(constRTPIPv4Address*)(dat->GetRTCPDataAddress());
ip=addr->GetIP();
port=addr->GetPort()-1;
}
else
return;

RTPIPv4Addressdest(ip,port);
AddDestination(dest);

structin_addrinaddr;
inaddr.s_addr=htonl(ip);
std::cout<<"Addingdestination"<<std::string(inet_ntoa(inaddr))<<":"<<port<<std::endl;
}

voidOnBYEPacket(RTPSourceData*dat)
{
if(dat->IsOwnSSRC())
return;

uint32_tip;
uint16_tport;

if(dat->GetRTPDataAddress()!=0)
{
constRTPIPv4Address*addr=(constRTPIPv4Address*)(dat->GetRTPDataAddress());
ip=addr->GetIP();
port=addr->GetPort();
}
elseif(dat->GetRTCPDataAddress()!=0)
{
constRTPIPv4Address*addr=(constRTPIPv4Address*)(dat->GetRTCPDataAddress());
ip=addr->GetIP();
port=addr->GetPort()-1;
}
else
return;

RTPIPv4Addressdest(ip,port);
DeleteDestination(dest);

structin_addrinaddr;
inaddr.s_addr=htonl(ip);
std::cout<<"Deletingdestination"<<std::string(inet_ntoa(inaddr))<<":"<<port<<std::endl;
}

voidOnRemoveSource(RTPSourceData*dat)
{
if(dat->IsOwnSSRC())
return;
if(dat->ReceivedBYE())
return;

uint32_tip;
uint16_tport;

if(dat->GetRTPDataAddress()!=0)
{
constRTPIPv4Address*addr=(constRTPIPv4Address*)(dat->GetRTPDataAddress());
ip=addr->GetIP();
port=addr->GetPort();
}
elseif(dat->GetRTCPDataAddress()!=0)
{
constRTPIPv4Address*addr=(constRTPIPv4Address*)(dat->GetRTCPDataAddress());
ip=addr->GetIP();
port=addr->GetPort()-1;
}
else
return;

RTPIPv4Addressdest(ip,port);
DeleteDestination(dest);

structin_addrinaddr;
inaddr.s_addr=htonl(ip);
std::cout<<"Deletingdestination"<<std::string(inet_ntoa(inaddr))<<":"<<port<<std::endl;
}
};

//
//Themainroutine
//

intmain(void)
{
#ifdefWIN32
WSADATAdat;
WSAStartup(MAKEWORD(2,2),&dat);
#endif//WIN32

MyRTPSessionsess;
uint16_tportbase;
std::stringipstr;
intstatus,i,num;

//First,we'

std::cout<<"Enterlocalportbase:"<<std::endl;
std::cin>>portbase;
std::cout<<std::endl;

std::cout<<std::endl;
std::cout<<"Numberofsecondsyouwishtowait:"<<std::endl;
std::cin>>num;

//Now,we'llcreateaRTPsession,setthedestination
//andpollforincomingdata.

;
RTPSessionParamssessparams;

//IMPORTANT:,otherwise
//
//Inthiscase,we'.
sessparams.SetOwnTimestampUnit(1.0/8000.0);

sessparams.SetAcceptOwnPackets(true);
transparams.SetPortbase(portbase);
status=sess.Create(sessparams,&transparams);
checkerror(status);

for(i=1;i<=num;i++)
{
sess.BeginDataAccess();

//checkincomingpackets
if(sess.GotoFirstSourceWithData())
{
do
{
RTPPacket*pack;

while((pack=sess.GetNextPacket())!=NULL)
{
//Youcanexaminethedatahere
printf("Gotpacket! ");

//wedon'tlongerneedthepacket,so
//we'lldeleteit
sess.DeletePacket(pack);
}
}while(sess.GotoNextSourceWithData());
}

sess.EndDataAccess();

#ifndefRTP_SUPPORT_THREAD
status=sess.Poll();
checkerror(status);
#endif//RTP_SUPPORT_THREAD

RTPTime::Wait(RTPTime(1,0));
}

sess.BYEDestroy(RTPTime(10,0),0,0);

#ifdefWIN32
WSACleanup();
#endif//WIN32
return0;
}

❻ 用C语言编写音乐播放器的源代码

如果你这个播放器是在电脑上使用,那用C语言显然有点太小题大做了,用其他高级语言实现起来要简单的多。如果是设计一个类似MP3的播放设备,那么C语言几乎是唯一的选择,而且代码复杂程度远远高于你的想象,不过幸运的是会有一些开源的代码可以移植,所以让这件事情也变得容易实现多了,如果再加上一个专用的解码芯片,那软件会简单点,解码效率也高多了。

❼ 求一C语言编写的 网络音乐播放器 类似于千千静听的源码

网络播放器没有 倒是有千千静听的源代码 当然不是新版的代码了 要的话 留个邮箱或者联系方式吧

❽ 请问你有C语言编写的 网络音乐播放器 类似于千千静听的源码

我有千千静听的源代码
虽不是很新的版本
但对编程应该有帮助的
留个邮箱或者联系方式吧

❾ 急求网页音乐播放器HTML源码

<html>
<title>测试</title>
<head>

<script>

</script>

</head>
<body>
<div id="playSound">

<object id="player" height="45" width="300" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6">

<!--是否自动播放-->
<param name="AutoStart" value="-1">

<!--调整左右声道平衡,同上面旧播放器代码-->
<param name="Balance" value="0">

<!--播放器是否可人为控制-->
<param name="enabled" value="-1">

<!--是否启用上下文菜单-->
<param name="EnableContextMenu" value="-1">

<!--播放的文件地址-->
<param name="url" value="music/pianai.wma">

<!--播放次数控制,为整数-->
<param name="PlayCount" value="1">

<!--播放速率控制,1为正常,允许小数,1.0-2.0-->
<param name="rate" value="1">

<!--控件设置:当前位置-->
<param name="currentPosition" value="0">

<!--控件设置:当前标记-->
<param name="currentMarker" value="0">

<!--显示默认框架-->
<param name="defaultFrame" value="">

<!--脚本命令设置:是否调用URL-->
<param name="invokeURLs" value="0">

<!--脚本命令设置:被调用的URL-->
<param name="baseURL" value="">

<!--是否按比例伸展-->
<param name="stretchToFit" value="0">

<!--默认声音大小0%-100%,50则为50%-->
<param name="volume" value="50">

<!--是否静音-->
<param name="mute" value="0">

<!--播放器显示模式:Full显示全部;mini最简化;None不显示播放控制,只显示视频窗口;invisible全部不显示-->
<param name="uiMode" value="Full">

<!--如果是0可以允许全屏,否则只能在窗口中查看-->
<param name="windowlessVideo" value="0">

<!--开始播放是否自动全屏-->
<param name="fullScreen" value="0">

<!--是否启用错误提示报告-->
<param name="enableErrorDialogs" value="-1">

<!--SAMI样式-->
<param name="SAMIStyle" value>

<!--SAMI语言-->
<param name="SAMILang" value>

<!--字幕ID-->
<param name="SAMIFilename" value>

</object>

</div>

</body>
</html>

记得把音乐名改成你要播放的音乐名 还有记得给分啊

❿ 求一个使用C语言播放avi视频的源代码和一个读取avi视频信息的源代码,system函数的不要。详

呵呵哒,华师树莓14级的小伙伴,你好😉

热点内容
密码子的原料是什么 发布:2024-09-19 09:11:42 浏览:347
半夜编程 发布:2024-09-19 09:11:36 浏览:103
海康威视存储卡质量如何 发布:2024-09-19 08:55:35 浏览:940
python3默认安装路径 发布:2024-09-19 08:50:22 浏览:516
环卫视频拍摄脚本 发布:2024-09-19 08:35:44 浏览:418
sqlserveronlinux 发布:2024-09-19 08:16:54 浏览:256
编程常数 发布:2024-09-19 08:06:36 浏览:952
甘肃高性能边缘计算服务器云空间 发布:2024-09-19 08:06:26 浏览:162
win7家庭版ftp 发布:2024-09-19 07:59:06 浏览:717
数据库的优化都有哪些方法 发布:2024-09-19 07:44:43 浏览:269