草庐IT

html - 在 <audio> 标签中停止音频缓冲

我目前正在使用HTML5音频播放器通过(移动)浏览器提供音频流(24/7广播流)。在流中加载并播放它工作正常。主要问题是HTML5标签将继续下载(缓冲)内容,即使它未处于事件状态。对于移动用户来说,这可能是一个主要问题,因为他们中的大多数人都为数据使用付费。到目前为止,我还没有找到一个像样的跨浏览器解决方案来防止这种情况。到目前为止我已经尝试过:按下暂停时卸载源。删除音频播放器元素并加载一个新元素。这行得通但是老实说,这是一种非常hacky的方式来执行一个非常简单的任务。我只是想知道在整个问题中是否有我忽略的东西,因为我确信我不是唯一遇到这个问题的人。 最佳

javascript - 同步 HTML5 <video> 与 <audio> 播放

我有来自一个来源的轨道,静音,我想使用元素播放背景音乐。轨道包含一些时间关键元素。在HTML5/Javascript中同步这两个不同的媒体播放器的选项是什么?会给主时钟,因为它的音频播放对时间非常敏感-偶尔丢失视频帧并不重要。 最佳答案 MikkoOhtamaa在评论中提供了一个解决方案,实际上我认为这是最好的选择-它不需要框架,也不需要您编辑视频文件。本质上,当“取消静音”时,只需从视频元素中获取当前时间,并将该时间应用于音频元素。一些代码可能如下所示:functionunmute(){varvid=document.getEle

javascript - Web Audio API - 录制到 MP3?

我问是因为我在任何地方都找不到答案。我已经成功实现了RecorderJS为了在JS中记录麦克风输入。但是,录制的文件是WAV,导致文件很大。我正在寻找一种使用JS直接录制到MP3的方法,或者以某种方式将位编码为MP3而不是WAV。如何实现?是否有可以执行此操作的WebAudioAPI函数或某种JSMP3编码器? 最佳答案 我见过的唯一JavascriptMP3编码器是https://github.com/akrennmair/libmp3lame-js,这是一个使用emscripten的端口。它应该很慢,而且我从未使用过它。我不知道

html - 在 Javascript 中为 Web Audio API 使用本地文件

我正在尝试使用WebAudioAPI在我的iPhone游戏中播放声音。问题是这个应用程序完全是客户端。我想将我的mp3存储在本地文件夹中(并且不受用户输入驱动)所以我不能使用XMLHttpRequest来读取数据。我正在考虑使用FileSystem,但Safari不支持它。还有其他选择吗?编辑:感谢您的以下回复。不幸的是,音频API对于游戏来说非常慢。我有这个工作,延迟只会让用户体验无法接受。澄清一下,我需要的是-varrequest=newXMLHttpRequest();request.open('GET','file:///./../sounds/beep-1.mp3',true

audio - 不输出 Opus 原始音频

我目前正在编写一个小脚本,可以将MP4动态转换为Opus音频并将其发送到Discord在戈朗。最初我的脚本会在通过stdin下载到ffmpeg时传递MP4,然后将stdout传递给Opus编码器,然后传递给Discord(与this完全一样)。在学习了我可以用Opus构建ffmpeg之后,我想去掉我以前的opus编码器并将ffmpeg的输出直接传递给Discord。以前,我的ffmpeg命令看起来像这样(使用第二个opus编码器)ffmpeg-i--fs16le-ar48000-ac2pipe:1现在,没有编码器并让ffmpeg完成所有工作,这就是我到目前为止的想法。ffmpeg-i-

windows - 是否可以从另一个进程捕获渲染 Audio Session ?

我第一次接触Windows的WASAPI系统,我不知道我想要的东西是否可以通过WindowsAPI实现。我正在尝试编写程序来录制来自各种程序的声音并将每个程序分成单独的录制轨道/音频文件。从我所做的研究中我知道我需要记录的单位是各种audiosessions被渲染到端点,正常的记录方式是获取渲染端点并执行环回。然而,从我到目前为止在MSDN中阅读的内容来看,我唯一能做的与session的交互是通过IAudioSessionControl。这并没有为我提供获取session流副本的方法。我是否遗漏了一些允许我使用WASAPI(或其他一些WindowsAPI)执行此操作并在它们混合在一起形

c++ - 每个应用程序实例超过一个 Audio Session

WASAPI或MediaFoundation是否允许为单个进程创建多个AudioSession? 最佳答案 ManagingtheAudioSession(Windows)特别是:...Typically,anapplicationmaintainsasingleaudiosession,althoughapplicationscancreatemorethanonesession.... 关于c++-每个应用程序实例超过一个AudioSession,我们在StackOverflow上找

javascript - 使用 Web Audio API 改变音频速度而不改变音高

是否可以使用WebAudioAPI在不改变音高的情况下改变音频的速度(以加载的MP3文件的形式)?我知道playbackRateAudioBufferSourceNode上的属性,但这也会改变音高。我也知道playbackRate的属性(property)和元素,但我需要使用WebAudioAPI。我是网络音频API的新手。有什么我可以做的吗? 最佳答案 有一种方法可以做到这一点-它叫做granularsynthesis(链接指向pd理论链接,但该理论是通用的)。颗粒合成的思想是声音以原始速度采样,但从每个采样点以不同的速度播放,但

php - <audio> 控件的轨迹栏不移动的元素

我有一个具有如下控件的元素:custom_5;?>"type="audio/ogg"/>custom_5;?>"type="audio/mp3"/>播放器出现,声音播放正常,但轨迹栏没有移动以反射(reflect)耗时,也无法拖动来寻找。为什么不?我需要发送某种额外的标题吗?这是所有相关的PHP,没有什么特别的:header('Content-Type:'.$mimetype[$type]);$file=fopen($filename,'rb');fpassthru($file);fclose($file);exit();Youcanseetheproblemlivehere.

c++ - webRTC : How to apply webRTC's VAD on audio through samples obtained from WAV file

目前,我正在解析wav文件并在std::vectorsample中存储样本.现在,我想对这些数据应用VAD(语音事件检测)以找出语音的“区域”,更具体地说是单词的开始和结束。解析的wav文件是16KHz,16位PCM,单声道。我的代码是用C++编写的。我已经搜索了很多,但找不到关于webRTC的VAD功能的适当文档。根据我的发现,我需要使用的函数是WebRtcVad_Process().它的原型(prototype)如下:intWebRtcVad_Process(VadInst*handle,intfs,constint16_t*audio_frame,size_tframe_leng