SoundManager是 一个JavaScript库,通过它开发者可以控制Web上音频和视频的播放,它包装了Flash sound API,通过JavaScript和ActionScript和通信,来实现了多媒体的互动,所以浏览器需要启用相关版本以上的Flash Player插件(当然这不是问题)。这里介绍一下它的用法:

首先需要在HTML页面中包含js库
<script type="text/javascript" src="soundmanager2.js"></script>

初始化正常后播放一段声音
soundManager.url='swf';
soundManager.onload=function(){soundManager.play('sound_id', 'assets/sample.mp3');
}

判断初始化是否正常
soundManager.onready(function(status){if(status.success){soundManager.play('sound_id', 'assets/sample.mp3');}else{alert("soundManager出现异常");}
});

创建一个声音对象
soundManager.onload=function(){var sound=soundManager.createSound({id: 'sound_id', url: 'assets/sample.mp3',autoPlay:false //same as default});sound.play();
}

通过ID播放声音
soundManager.onload=function(){var sound=soundManager.createSound({id: 'sound_id', url: 'assets/sample.mp3'});soundManager.play('sound_id');
}

设置播放属性
soundManager.onload=function(){var sound=soundManager.createSound({id: 'sound_id', url: 'assets/sample.mp3',autoLoad:true});sound.play({duration:1000,volume:80,span:50,onfinish:function(){this.play();}});
}

soundManager.onload=function(){var sound=soundManager.createSound({id: 'sound_id', url: 'assets/sample.mp3'});sound.setPosition(1000);sound.setVolume(80);sound.play({pan:-50});
}

控制暂停,播放,静音,取消静音
sound.play();//播放
sound.pause();//暂停
sound.togglePause();//切换sound.mute();//静音
sound.unmute();//取消静音
sound.toggleMute();//切换

监听声音加载
soundManager.onload=function(){var sound=soundManager.createSound({id: 'sound_id', url: 'assets/bad_path.mp3',onload:function(success){soundManager._writeDebug('sound '+ (success?'loaded':'did not load.');}});
}

监听播放结束
soundManager.onload=function(){var sound=soundManager.createSound({id: 'sound_id', url: 'assets/sample.mp3',onfinish:function(){this.destruct();}});
}

监听其他事件
soundManager.onload=function(){var sound=soundManager.createSound({id: 'sound_id', url: 'assets/sample.mp3',onbeforefinishtime:1000,stream:true,whileloading:function(){},onload:function(){},onfinish:function(){},onplay:function(){},onstop:function(){},onpause:function(){},onresume:function(){},whileplaying:function(){},onbeforefinish:function(){},onbeforefinishcomplete:function(){},onjustbeforefinish:function(){},onjustbeforefinishcomplete:function(){}});
}

获得sound相关属性
sound.bytesLoaded
sound.bytesTotal
sound.position
sound.duration
sound.id3

soundManager的配置属性
oundManager.allowPolling = true;
// 启用状态更新,如果需要监听whileloading/whileplaying则必须启用它soundManager.consoleOnly = false;
// 如果启用了, 则调试到id为soundmanager-debug的DIVsoundManager.debugMode = true;
//是否启用调试信息, (输出到div#soundmanager-debug,或者console)soundManager.flashLoadTimeout =1000;
// 等待影片加载的毫秒数 (0 = infinity)
soundManager.flashVersion = 8;
// 所需Flash Player的版本soundManager.nullURL = 'null.mp3';
// (只使用Flash 8): 一个空的辅助MP3文件路径soundManager.url = '/path/to/swf/';
// 存放SM2 .SWF文件的文件夹路径soundManager.useConsole = true;
// 如果firebug/safari console.log()可用,则使用它soundManager.useMovieStar = false;
// 使用支持 Flash 9.0r115+ MPEG4音频和视频soundManager.useFastPolling = false;
// 默认是200ms跟新一个播放信息,如果启用快速跟新,时间间隔将是1mssoundManager.useHighPerformance = false;
// 使用CSS position:fixed来增强JS/AS的调度soundManager.waitForWindowLoad = false;
// window.onload()之后才调用oundManager.onload()soundManager.wmode = 'transparent';
// null, window, transparent, opaque (后两个可以让HTML处于flash上层)soundManager.allowFullScreen = true;
// 是否允许全屏

soundManager部分方法
soundManager.canPlayURL(mediaURL:string):Boolean;
soundManager.createSound(id:string,url:string):SMSound;
soundManager.createSound(options:object):SMSound;
soundManager.createVideo(options:object):SMSound;
soundManager.destroySound(id:string);
soundManager.destroyVideo(id:string);
soundManager.onready(callback:function(status),[scope]);
soundManager.loadFromXML(xmlURL:string);
soundManager.supported():Boolean;

这些方法简单明了,通过方法名称都应该可以猜的到作用是什么了。其中,loadFromXML(xmlURL:string)用来播放一个XML文件定义的媒体列表;supported()用来判断soundManager初始化完成。

来自: http://hi.baidu.com/pc10/blog/item/e9c25b609a0fc2d48cb10dc2.html

音乐播放器——SoundManager API介绍相关推荐

  1. 如何在php中添加音乐播放器,window_Win10自带Groove音乐播放器怎么使用?,《Groove音乐》是微软在Win10系 - phpStudy...

    Win10自带Groove音乐播放器怎么使用? <Groove音乐>是微软在Win10系统上推出的一款最新的音乐播放器,从而替代了之前的Xbox Music.而今天<Groove音乐 ...

  2. Android实现音乐播放器(包含窗口小组件)

    一.项目整体架构 1.博主参考资料 音乐播放器实现 BroadcaseReceiver介绍 Activity生命周期 Service生命周期 2.项目下载链接 下载地址 二.技术介绍 1.Activi ...

  3. ESP32 也能实现精美UI 使用 HaaS UI Lite (Python)打造音乐播放器

       音乐播放器是大家日常使用最多的工具之一,类似的音频播放场景还有在医院/银行经常见到的排队叫号系统.工业场景中常用的的操作提示装置等等. 1.简介    本文将基于HaaS UI Lite开发框架 ...

  4. 基于FPGA设计的音乐播放器

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 基于FPGA设计的音乐播放器 一.生成PCM音频格式的音乐文件 1.PCM音频文件格式 2.Matlab读取WAV文件 二. ...

  5. Mac音乐播放器哪款好用?

    ieaseMusic与网易云音乐客户端有什么区别?ieaseMusic 是一款基于网易云音乐打造的颇具交互乐趣的第三方音乐播放器,支持登录网易云账号,可同步数据.按照ieaseMusic开发者的说法, ...

  6. ​百度音乐播放器2015 v9.1.7 官方版

    百度音乐播放器2015 v9.1.7 官方版 软件大小:8.26MB 软件语言:简体中文 软件类别:影音播放 软件授权:官方版 更新时间:2015-02-06 应用平台:/Win8/Win7/WinX ...

  7. html音乐播放器自动切歌,HTML音乐播放——切歌

    $(function(){ $("#next").click(next); }); // 使用JQuery选择标签,则切歌后两首歌一起播放,用JS挺好 var eBar = doc ...

  8. vue 判断同一数组内的值是否一直_前端代码+后端API,值得一学的Vue高仿音乐播放器实战项目

    项目名称:vue-fds_music 项目作者:符道胜 开源许可协议:Apache-2.0 项目地址:https://gitee.com/fudaosheng/vue-fds_music 项目简介 V ...

  9. 后端实体类接收数组_前端代码+后端API,值得一学的Vue高仿音乐播放器实战项目...

    项目名称:vue-fds_music 项目作者:符道胜 开源许可协议:Apache-2.0 项目地址:https://gitee.com/fudaosheng/vue-fds_music 项目简介 V ...

  10. 前端代码+后端API,值得一学的Vue高仿音乐播放器实战项目

    项目名称:vue-fds_music 项目作者:符道胜 开源许可协议:Apache-2.0 项目地址:https://gitee.com/fudaosheng/vue-fds_music 项目简介 V ...

最新文章

  1. 控制iOS的导航栏和状态栏的样式
  2. 字符串匹配のKMP【专题@AbandonZHANG】
  3. markdown不允许还有人不会
  4. iOS求职之OC面试题完整版---持续更新中...
  5. 直播项目之仿全民TV(已开源)
  6. mongodb mysql配置_MongoDB数据库安装配置、基本操作实例详解
  7. Java设计模式——模板方法模式(模板方法设计模式)详解
  8. 10分钟JAVA从入门到放弃
  9. 有关Stolz定理的推广和应用(吕文斌)
  10. 静止卫星遥感图像太阳及卫星天顶、方位角(SOZ/SOA/SAZ/SAA)计算方法
  11. 【centos7x86】安装源 设置基础软件仓库时出错 解决办法
  12. 罗大佑的童年用计算机咋弹,罗大佑《童年》吉他弹奏教学-520吉他网
  13. 51单片机常用功能及相关内容
  14. 树莓派网线连接电脑查询不到ip的解决方法
  15. Android 检测辅助功能是否开启,并调整设置页面
  16. java植物大战僵尸小游戏
  17. python 绘图英文字体_如何在matplotlib和networkx中显示非英语字体?
  18. 主分区、扩展分区和逻辑分区的区别
  19. Digital Film Tools汉化版|Digital Film Tools DFT V1.1.3 PS特效插件WINX64
  20. MySQL中的sum的用法----统计

热门文章

  1. Netty 解决TCP粘包/半包使用
  2. python绝对值编程_python求绝对值的三种方法小结
  3. IDEA 设置类注释模板
  4. 概率图模型之隐马尔可夫模型
  5. 代理IP软件如何只切换浏览器IP地址
  6. Dell服务器误删阵列恢复操作
  7. Java复习 思维导图
  8. 2023年北京航空航天大学材料与化工(金属方向)考研成功经验
  9. 字节跳动“蚕食”B端,搅局企业服务?
  10. 在一起计时器_热点聚焦 | 京东物流正式发布科技品牌;快手回应“厕所装计时器”:便于判断需增加多少移动厕所坑位...