繁体   English   中英

在不使用Flash的情况下嵌入音频mp3

Embed audio mp3 without using Flash

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

什么是在html页面中嵌入音频mp3而不使用闪存而是使用自定义皮肤的好方法? 它也应该在旧浏览器中部分工作

4 个回复

你应该看一下SoundManager 2

如果浏览器支持HTML5,它将使用HTML5,但如果必须,将降级为使用Flash。 最棒的是,它有一个API,无论哪种方式都相同。 我在一些项目上使用过这个工具,这太棒了。

这是他们的工作原理页面的描述

问题:浏览器缺乏良好,一致的原生音频支持。 (HTML 5的Audio()是未来,但仍处于开发阶段。)

解决方案: Javascript API使用HTML5 Audio()+无头Flash通过ExternalInterface,几乎无处不在。 如果支持HTML5但不支持“非免费”MP3 / MP4格式,则使用闪存作为后备。

SoundManager 2包装并扩展了Flash和HTML Audio Sound API,为Javascript提供了单一,统一的声音API; API是相同的,无论HTML还是Flash最终用于播放声音。 (闪存部分是隐藏的,对开发人员和最终用户都是透明的。)

如果您想在旧浏览器中使用它,那么您必须提供Flash后备。 例如,您可以使用jPlayer来完成。 jPlayer支持:

  • HTML5:mp3,m4a(AAC),m4v(H.264),ogv,oga,wav,webm
  • Flash:mp3,m4a(AAC),m4v(H.264)

请记住,Firefox没有本机MP3支持,因此如果您使用HTML5音频,您还必须为Firefox和其他一些浏览器提供Ogg Vorbis。

我刚从Thomas Fuchs那里看过这篇文章,其中介绍了几种通过Javascript播放音频的方法,而不依赖于闪回。

以下是本文的要点。

移动浏览器
除非声音是由用户操作直接播放的,否则现在没有解决方案(点击)

浏览器支持HTML5 <audio>元素。
要求您提供三种不同格式的音频。

if("Audio" in window){
  var a = new Audio();
  if(!!(a.canPlayType && a.canPlayType('audio/ogg; codecs="vorbis"').replace(/no/, '')))
    a.src = "/sounds/ping.ogg";
  else if(!!(a.canPlayType && a.canPlayType('audio/mpeg;').replace(/no/, '')))
    a.src = "/sounds/ping.mp3";
  else if(!!(a.canPlayType && a.canPlayType('audio/mp4;     codecs="mp4a.40.2"').replace(/no/, '')))
    a.src = "/sounds/ping.m4a";
  else
    a.src = "/sounds/ping.mp3";

  a.autoplay = true;
  return;
}

如果你正在处理IE <9

<bgsound src="/sounds/ping.mp3" loop="1" autostart="autostart">

否则测试对QuickTime,RealPlayer和Windows Media的支持
以下代码是使用Prototype.js编写的

// this code uses Prototype.js
if(navigator.plugins && $A(navigator.plugins).detect(function(p){ return p.name.indexOf('QuickTime') != -1 }))
  Sound.template = new Template('<object id="sound_#{track}_#{id}" width="0" height="0" type="audio/mpeg" data="#{url}"/>');
else if(navigator.plugins && $A(navigator.plugins).detect(function(p){ return p.name.indexOf('Windows Media') != -1 }))
  Sound.template = new Template('<object id="sound_#{track}_#{id}" type="application/x-mplayer2" data="#{url}"></object>');
else if(navigator.plugins && $A(navigator.plugins).detect(function(p){ return p.name.indexOf('RealPlayer') != -1 }))
  Sound.template = new Template('<embed type="audio/x-pn-realaudio-plugin" style="height:0" id="sound_#{track}_#{id}" src="#{url}" loop="false" autostart="true" hidden="true"/>');

我创建了一个JQuery Sound Plugin,它基于jessegavin上面提到的Thomas Fuchs文章。 您可以在https://github.com/thebentarrow/JQuery-Sound-Plugin找到它

请使用,滥用和贡献!

4 在不使用库的情况下播放MP3 / WAV文件?

我正在使用一个名为Eclipse(Oxygen Release(4.7.0))的应用程序,并且在MacOS Sierra上使用了它。 几天前,我从使用C ++和OpenGL制作的副本Mario游戏中下载了源代码 。 我将使用该源代码在我的游戏/程序中引用和播放.mp3 / .wav文件, ...

5 如何在不使用软件包的情况下从R打开MP3文件

我可以从R控制台打开MP3文件吗? 我尝试了source命令,但是它不起作用。 我的代码是: 下面是错误: 来源错误(文件=“ E:/ Music_cx / EELS / Eels / Albums / 1998-Electro-Shock Blues / 12-Climb ...

2015-07-04 06:50:16 2 556   r/ mp3
6 NAudio:是否可以在不使用文件系统的情况下以MP3或AAC录制?

我正在将NAudio用于需要使用麦克风录制语音的项目。 NAudio项目有一个非常不错的演示,展示了如何记录wav文件,但是由于我需要使用Web服务将语音数据传输到服务器,因此wav文件通常太大。 因此,我想知道是否可以直接在MP3或AAC中执行相同的操作。 在本文中,我读到不可能使用 ...

2017-08-14 12:42:35 1 219   naudio
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM