晨风交流论坛_CMP_CChat_Flash_音乐_视频_播放器_live直播_聊天室

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 55825|回复: 85

[教程] wma/wmv/mms问题详解【有声音没有图像问题】

[复制链接]
发表于 2010-6-3 13:29:17 | 显示全部楼层 |阅读模式
官方QQ群:102348392 | 捐赠CMP
发现不认真看使用说明的人比较多,尤其是新手入门者,一个老问题重复问来问去
所以置顶本帖,希望有这个问题的好好看看


更新说明见本帖最下面


CMP能播放wmp类型的媒体,如wma,wmv,mid等,但是有诸多限制,需要特定的环境支持
所以呼吁大家去使用wmp的替代品:
比如用mp3替换wma(http://bbs.cenfun.com/thread-12418-1-1.html)
rtmp直播替代mms等,以减少不必要的问题和麻烦


老话重提,为什么CMP不直接播放wmp类型媒体呢?

CMP采用flash开发,flash属于Adobe公司所有
WMP即Windows Media Player,是MicroSoft微软公司的媒体播放器
wma,wmv顾名思义是专门为wmp播放的媒体格式,也是微软所有,是有版权的格式(主要是需要wmp解码器)
这样flash无法播放wmp类型格式是理所当然

为什么flash选择MP3呢,因为MP3是工业标准的音频格式,全世界硬件基本都支持解码,支持多媒体的软件也基本默认就集成mp3解码器,因为通用开源免费

为什么特定环境又能用flash播放wmp类型媒体呢?
实际上不是flash在直接播放wmp类型媒体,而是通过间接的方式在播放,原理如下:

大家知道IE浏览器能用脚本JS来调用WMP来进行播放,而Flash同样能与其所在页面脚本进行通信
这样,以页面JS脚本来作为桥梁,我们能间接使WMP与CMP进行通信,进而实现播放操作
firefox浏览器也可以通过安装一个插件(wmpfirefoxplugin.exe)来支持wmp播放

这就是为什么,播放wmp类型媒体,一定要有网页JS脚本环境,也就是通信桥梁不能断
而且不能阻止flash与页面进行通信,必须设置flash的AllowScriptAccess="always" 和 allowNetworking="all"
在IE下还必须设置object标签的id,否则无法通讯,同时embed标签是不标准的,所以也不行
大家所知的qq空间是禁止flash与页面JS脚本进行通信的,故在qq空间调用cmp是不能实现wmp类型媒体播放的

为什么播放wmv没有图像呢?
因为CMP为了简单,实际上在页面生成了一个隐藏的WMP,当类型为wma或wmv时,都在这个隐藏的wmp里播放
故不会有任何图像显示出来,此时CMP只是起到一个控制的作用

说了这么多,相信大家也想,怎么实现隐藏的图像也可以显示出来呢? 答案是肯定的

最新版本CMP4新增了几个页面JS脚本调用的API后,WMP的相关操作就容易自行修改了
我们可以自己写脚本,把隐藏的WMP显示出来

基本原理就是:
1,CMP加载完后,把隐藏的WMP拿出来
2,并设置其大小与CMP里的视频大小一样
3,设置其位置也相同,这样再覆盖在上面,就可以以假乱真了
4,播放类型为wmp时就显示,否则隐藏
5,播放停止或播放完成时也隐藏

只要看懂了上面的说明,那一切wmp相关问题都能明白为什么
1,有声音没图像,因为wmp层没显示
2,挡住问题,因为wmp层覆盖在上面,cmp所在flash层在下面,是2个不相干的东西
3,无法播放问题,因为wmp模块没有启动,缺少wmp环境
4,全屏等操作,还是因为是2个不同的东西,虽能通讯,但毕竟还有弊端,不解释
等等,一系列问题,不是不解决,而是无法解决
所以,推荐使用flash原生支持的格式,比如mp3,flv,MP4等

详情见例子页面:
https://github.com/cenfun/cmp/tr ... veloper/wmp/wmp.htm
其中已经封装了WMP for CMP类:
https://github.com/cenfun/cmp/tr ... eveloper/wmp/wmp.js
2012.1.18更新:
支持到最新版本CMP4,加入qvod,见:
http://bbs.cenfun.com/thread-18402-1-1.html


可下载此页面,查看里面的源码,有详细注释
如果需要进行修改,则要求有一定的JS编程能力,否则请不要胡乱修改而导致新的问题
如果根本看不明白,说明还需要先进行一些相关基础知识的学习

发表于 2010-6-3 15:02:17 | 显示全部楼层
沙发又学到新的知识支持老大。。。教程
发表于 2010-6-3 17:27:07 | 显示全部楼层
搞不懂 啊~!
发表于 2010-6-3 18:55:20 | 显示全部楼层
持realplayer类型媒体的播放, 大哥也做个学习学习呀。
发表于 2010-6-3 19:20:27 | 显示全部楼层
本帖最后由 sxw2005 于 2010-6-3 20:38 编辑

不会使用。不知道问题出现在哪里了
发表于 2010-6-3 20:37:50 | 显示全部楼层
本帖最后由 sxw2005 于 2010-6-3 20:50 编辑

没弄懂呀,怎么在index.htm中用这个功能呢?
发表于 2010-6-3 22:51:44 | 显示全部楼层
预知未来    兄弟

下面的可以分享下吗?

我邮箱171456003@qq.com   或  xcyz09@163.com

http://50004.net/test/live.html
发表于 2010-8-18 16:01:52 | 显示全部楼层
学习学习。。。
发表于 2010-8-19 06:40:46 | 显示全部楼层
回复 8# 炫彩の叶子  我 忘记是什么东西了。 你有当时 的截图吗?
发表于 2010-11-13 17:04:48 | 显示全部楼层
还是没整明白,哪个直接上传个完整的打包的啊

QQ|客服QQ44023478|Archiver|手机版|小黑屋|晨风交流论坛 ( 粤ICP备05008793号 )

GMT+8, 2018-8-14 18:50 , Processed in 0.058556 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表