`

html5音频组件实现在线广播、回播

 
阅读更多

最近做了一个微信里广播电台的一个在线收听、往期回播的功能,利用hmtl5的标签<audio>

这个项目从决定采用audio到最后实现可谓是一波三折,这里我主要介绍下我实现的过程和遇到的一些问题,希望对也想实现此功能的亲们能少走些弯路。

 

一、音频<audio>标签

 html5音频和视频功能完全取代对插件的依赖,方便使用,具体使用格式如下:

 

<audio id="player2" type="audio/mp3" controls>
   <source src="../../media/echo-hereweare.ogv">
   <source src="../../media/big_buck_bunny.webm">
   <source src="../../media/a.mp3">
  </audio>

 

这个的写法是为了让主流浏览器都支持,做测试的时候最好这么写,微信里只要mp3格式的就都支持

 

简写格式:

 

<audio id="player2" src="../../media/a.mp3" preload="none"  controls></audio>

 

ogv是html5中的一个名为Ogg Theora的视频格式,而且涉及到版权之类
的问题,各个浏览器比如ff、chrome之类的标准也不统一,FF只支持ogv,
而Safari则支持h264

WebM由Google提出,是一个开放、免费的媒体文件格式

 

各个浏览器支持的音频格式列表

 

    浏览器

          wave

          ogg/ogv

          aiff

          Mp3

            au

Firefox

×

×

×

Google Chrome

×

×

×

Safari

×

×

Opera

×

×

×

 

二、ios和android对音频的支持

 

因为是在微信里实现属于网页端,苹果和安卓系统对权限的控制是不一样的。

最初在我们产品效果图设计完,设计师设计的很全面,包括音量控制、前进后退、静音等。

ios声音控制没有放开权限,不允许,这个也是我纠结了很久才知道的,咨询了一个国外大师

 

1、在线广播支持格式:ios支持在线音频格式为m3u8

                                     andorid支持RTSP实时流协议

 

如果想要都支持必须得在服务器端转码,得到想要操作系统支持的音频格式,这个转码是技术核心,不容易实现需要时间

 

2、历史收听:mp3格式都支持

 

 

 

分享到:
评论

相关推荐

    在线广播收听V2009520(转载)

    在线广播是通过将音频信号数字化并上传到服务器,用户通过互联网连接下载或流式传输这些数据来实现收听。这一过程涉及到的主要技术包括HTTP或RTSP(实时流协议)进行数据传输,AAC+、MP3、OPUS等音频编码格式用于...

    FLV格式视频播放器

    广播播放是指播放器能够支持同时向多个用户推送视频流,常用于在线直播服务。 FLV播放器的核心是解码引擎,它负责解析FLV文件的头信息和帧数据,包括音频和视频流。FLV文件结构包含一系列的标签,每个标签可以包含...

    HTML5音乐播放器 v1.0-源码.zip

    这对于大文件或在线广播尤其有用。 6. **音频元数据**: 源码可能使用JavaScript获取音频文件的元数据,如艺术家、专辑和时长,以在播放器界面上展示。 7. **播放列表集成**: 如果播放器支持多首歌曲的播放列表...

    震动的喇叭广播音响flash动画下载

    需要注意的是,随着HTML5技术的发展,Flash逐渐被淘汰,现代浏览器已经不再支持Flash内容,所以对于新的设备和平台,可能需要寻找替代的展示方式。 总之,"震动的喇叭广播音响flash动画下载"这个主题涵盖了音频技术...

    前端项目-soundmanager2.zip

    RTMP(Real Time Messaging Protocol)的支持则意味着它能够处理实时流媒体音频,这在构建互动式的音频应用或者在线广播平台时非常有用。此外,它还强调了库的大小只有12 KB,这表明其具有高效的代码优化,对于网页...

    TS流版网页版播放器调用的VLC播放插件

    5. `js`:这个目录可能包含了播放器的JavaScript实现,包括与VLC插件交互的逻辑。 综合以上信息,我们可以理解这是一个使用VLC技术的网页TS流播放器项目,用户可以通过运行提供的流媒体服务器,然后在浏览器中打开`...

    LiveSource广播系统

    为了实现这些功能,LiveSource系统可能包含以下组件: 1. 捕获设备:连接到摄像机和其他音频输入源的硬件设备。 2. 编码器:将原始音视频数据转换为网络友好的格式。 3. 流媒体服务器:存储和分发编码后的流媒体...

    播音喇叭 v2.6.0.0.zip

    1. bass.dll:这是一个BASS音频库的动态链接库文件,是播音喇叭软件实现音频播放的重要组件。BASS是一个广泛使用的音频处理库,能够支持多种音频格式,包括MP3,并提供了音频播放、混音、录音等功能。通过这个库,...

    网络电视电台直播系统 v2.0-ASP源码.zip

    这个系统允许用户通过互联网收听或观看实时的电视和广播节目,为用户提供了一个交互式的媒体体验。在分析这个源码时,我们将探讨ASP的关键特性、网络直播的技术实现以及可能涉及的相关知识点。 首先,ASP是微软开发...

    在线fm电台听歌源码

    在线FM电台听歌源码是一种用于创建在线音乐广播平台的软件开发工具,它允许用户通过互联网收听各种电台节目和音乐。这个源码通常包含了构建此类应用所需的所有关键组件,如前端界面、后端服务器逻辑、数据库接口以及...

    电视直播源码1.8

    3. **radio.html**:这个文件代表了电台功能,用户可以在这里收听各种在线广播。电台页面可能有频道列表,用户可以切换不同类型的电台节目,如新闻、音乐、谈话等。 4. **music.html**:音乐模块提供了在线音乐播放...

    red5-server

    Red5 Server是一款开源的流媒体服务器,主要用于处理和分发实时多媒体数据,如视频和音频流。这个"red5-server"项目包含的就是Red5的源代码,对于开发者来说,它是理解流媒体服务工作原理和自定义功能的一个宝贵资源...

    直播软件源代码.rar

    6. **Broadcast**:这个文件名可能是关于广播或推送服务的代码或配置文件,直播系统中的广播机制通常负责将主播的视频和音频流推送到所有观看直播的用户,实现大规模的数据同步。 直播互动系统的关键技术还包括: ...

    jmf20-api(HTML)

    例如,可以创建自己的媒体处理器、处理不同的编码格式、控制播放速度,甚至实现网络广播。JMF支持多种媒体格式,包括音频和视频,使其在开发多媒体应用时具有广泛的适用性。 在实际应用中,JMF常用于实现音视频...

    星晴网络电台

    客户端可能包含了音频解码、播放控制界面、网络连接管理等功能,可能使用了如HTML5的Audio API或各种多媒体库如FFmpeg进行实现。 在源码学习方面,开发者可以研究如何实现音频编码与解码,例如MP3、AAC等常见格式;...

    Red5 1.6-1.7 oflaDemo例子

    测试发布和播放流,这有助于理解Red5如何处理实时视频和音频数据,以及如何与其他客户端进行交互。 此外,了解Red5的API和编程接口也是很重要的,这样你就能创建自己的自定义应用。Red5支持使用Java语言编写应用,...

    70个android源码

    5. **多媒体支持**:HTML5对音频和视频提供了良好的支持,源码将展示如何在Android应用中播放和控制多媒体内容。 6. **响应式设计**:HTML5配合CSS3的媒体查询,可以实现跨设备的响应式布局。通过源码,我们可以...

    red5oflaDemo.zip

    OFLA(Open Flash Live Audio)是Red5对RTMP协议的一个实现,主要用于音频和视频的实时传输。 流媒体服务器如Red5对于在线教育、视频会议、直播娱乐和企业内部通信等场景至关重要。它们能够处理大量的并发连接,...

    Android期末课程设计音乐播放器

    2. **音乐播放**:在Android中,MediaPlayer类是实现音频播放的核心组件。开发者需要加载音频资源,如MP3文件,然后调用start()方法开始播放,pause()方法暂停播放,以及seekTo()方法实现歌曲的滚动。此外,...

    最简单的音乐网站架设方法 用Windows Media建立视频点播系统.pdf

    Windows Media服务器是Windows 2000 Server Family自带的多媒体内容发布平台,它支持多种播放方式,如点播单播、广播单播和广播多播。 首先,安装Windows Media服务器是必要的步骤。在Windows 2000 Server中,可以...

Global site tag (gtag.js) - Google Analytics