Skip to content

An open source web audio player from Baidu Music, support HTML5 and Flash engine on different platforms(百度音乐播放内核)

License

Notifications You must be signed in to change notification settings

BaiduMusic/muplayer

Repository files navigation

项目已经不再维护

非常抱歉,我(@hustKiwi)是 MuPlayer 的主要开发者,但已在2015年6月时离开百度音乐了。这个项目后续负责的经理好像不太希望持续维护开源的版本,因此 github 上的这个项目实际已经处于无人接手的停滞状态。作为替代,可以评估使用 SoundManager2howler.js

概述

MuPlayer 是百度 @音乐前端 团队开发维护的浏览端音频播放内核,它基于 HTML5 Audio 及 Flash 音频技术,实现了多端通用(PC & WebApp)、浏览器兼容(ie6+、firefox、chrome、safari etc)及可扩展的多音频格式解码插件的音频文件播放功能,并在百度音乐多个线上产品线中应用,具备相当的灵活性和稳定性。

安装

你可以使用 bower 安装

bower install muplayer

或者到发布页面下载压缩文档:Releases

具体使用方法请参见文档部分。

文档

参见:MuPlayer API

示例:Demo

为项目贡献代码

  1. 签出项目
git clone https:/Baidu-Music-FE/muplayer.git
cd muplayer
  1. 安装依赖
npm install

这个步骤会提示你是否安装 Flex SDK,如果选择 no, 项目会利用现有的编译好的 swf 文件。如果你希望更改 action script 源码并编译,请选择 yes,注意这个 SDK 可能会需要下载 400MB 的依赖。如果想自动选择默认项安装(安静模式),请运行 quiet=true npm install

  1. 编译
npm run no -- build

编译好的文件会保存到 dist 文件夹。如果你全局安装了 nokit,则可以直接运行 no build

修订文档

  1. 安装文档静态文件依赖
bower install
  1. 编译文档 编译文档需先安装 compass 依赖,参见:http://compass-style.org/install/ ,之后运行:
npm run no -- doc
  1. 预览文档需要启动本地服务器,启动后访问 http://127.0.0.1:8077
npm run no -- server

指定端口号

npm run no -- server -p 8080

使用案例

MuPlayer本就源自百度音乐前端团队在产品开发上的积累,被用于多条在线产品及音乐服务上,如百度音乐盒百度随心听百度音乐人百度乐播,及WebApp,是音乐前端的核心基础库之一。下面继续列举一些我们已知的第三方使用案例,以供参考:

  1. 百度个人中心的音乐随心听模块:http://i.baidu.com/#ibx-mod-music
  2. @mozillazg 实现的音乐FM:https:/mozillazg/lark
  3. @alankell 的个人博客背景音播放:http://alankell.com/

许可

MuPlayer 实行 BSD 许可协议。
版权 (c) 2015 Baidu Music。

这份授权条款,在使用者符合以下三条件的情形下,授予使用者使用及再散播本
软件包装原始码及二进位可执行形式的权利,无论此包装是否经改作皆然:

* 对于本软件源代码的再散播,必须保留上述的版权宣告、此三条件表列,以
  及下述的免责声明。
* 对于本套件二进位可执行形式的再散播,必须连带以文件以及/或者其他附
  于散播包装中的媒介方式,重制上述之版权宣告、此三条件表列,以及下述
  的免责声明。
* 未获事前取得书面许可,不得使用柏克莱加州大学或本软件贡献者之名称,
  来为本软件之衍生物做任何表示支持、认可或推广、促销之行为。

免责声明:本软件是由加州大学董事会及本软件之贡献者以现状("as is")提供,
本软件包装不负任何明示或默示之担保责任,包括但不限于就适售性以及特定目
的的适用性为默示性担保。加州大学董事会及本软件之贡献者,无论任何条件、
无论成因或任何责任主义、无论此责任为因合约关系、无过失责任主义或因非违
约之侵权(包括过失或其他原因等)而起,对于任何因使用本软件包装所产生的
任何直接性、间接性、偶发性、特殊性、惩罚性或任何结果的损害(包括但不限
于替代商品或劳务之购用、使用损失、资料损失、利益损失、业务中断等等),
不负任何责任,即在该种使用已获事前告知可能会造成此类损害的情形下亦然。