在本文中,您将会了解到关于在react-js中播放声音的新资讯,同时我们还将为您解释react播放音频的相关在本文中,我们将带你探索在react-js中播放声音的奥秘,分析react播放音频的特点,并
在本文中,您将会了解到关于在react-js中播放声音的新资讯,同时我们还将为您解释react 播放音频的相关在本文中,我们将带你探索在react-js中播放声音的奥秘,分析react 播放音频的特点,并给出一些关于Android开发中播放声音的两种方法分析、c# – 如何在asp.net网页中播放声音?、html – 在后台的网页中播放声音文件、ios – 在Sprite Kit中播放声音的实用技巧。
本文目录一览:- 在react-js中播放声音(react 播放音频)
- Android开发中播放声音的两种方法分析
- c# – 如何在asp.net网页中播放声音?
- html – 在后台的网页中播放声音文件
- ios – 在Sprite Kit中播放声音
在react-js中播放声音(react 播放音频)
我尝试在react-js上播放声音,但无法启动。在获取InitialState之前,我已在我的reactClass中初始化了声音变量:
var App = React.createClass({
audio: new Audio('files/audio.mp3'),getInitialState: function () {
return {
playSound: false,........
}
}
这是我用于启动和停止的功能:
playSound: function() {
if(!this.state.playSound){
this.setState({
playSound: true,},function(){
console.log("play sound 1");
this.audio.play();
console.log("play sound 2");
});
}
},stopSound: function() {
if(this.state.playSound){
this.setState({
playSound: false,function(){
console.log("stop sound 1");
this.audio.pause();
console.log("stop sound 2");
});
}
},
但是我得到了这个答案:
react-app.js:346 Uncaught (in promise) DOMException: The element has no supported sources.
我已经尝试过同时使用.mp3和.wav文件。但它不会开始。我究竟做错了什么?
!!!! 编辑:还尝试添加HTML项:
<audio id="beep" loop>
<source src="files/ring.wav" type="audio/wav" />
</audio>
并使用以下开始/停止:
playSound: function() {
if(!this.state.playSound){
this.setState({
playSound: true,function(){
console.log("play sound 1");
var audioElement = document.getElementById('beep');
audioElement.setAttribute("preload","auto");
audioElement.autobuffer = true;
audioElement.load();
audioElement.play();
console.log("play sound 2");
});
}
},function(){
console.log("stop sound 1");
var audioElement = document.getElementById('beep');
audioElement.pause();
console.log("stop sound 2");
});
}
},
然后我在启动时没有错误,但是没有启动。当我按下暂停时,我得到:
Uncaught (in promise) DOMException: The play() request was interrupted by a call to pause().
!!!! 编辑2:
我还注意到,如果设置按钮,则可以播放声音。如果我打开文件管理器,请转到index.html并将其打开,即可正常运行。如果我从webpack-
server尝试页面:localhost:8000 / app /
index.html,它将无法正常工作。得到相同的DOMException。为什么是这样?
Android开发中播放声音的两种方法分析
本文实例讲述了Android开发中播放声音的两种方法。分享给大家供大家参考,具体如下:
在Android中,音频、视频等多媒体元素的加入,使得应用程序的用户体验更好。可以说,现在的手机,已经远远不只作为通信工具,更成为娱乐、办公的必备产品。
Android提供了简单的音频API。一般大家使用的是MediaPlayer播放音频,这也是最常见的一种播放声音的工具。这种工具在互联网上有大量的实例,因此在此只做简单的介绍。
对播放行为的控制是三个大家非常熟悉的方法:start()
、stop()
和pause()
。
通过static MediaPlayer create(Context,Uri)
这个方法,可以获得一个新创建的MediaPlayer对象。
在播放过程中,有几个可以监听播放过程的监听器,如:
setonCompletionListener(MediaPlayer.OnCompletionListener listener)
监听音频播放结束;
setonErrorListener(MediaPlayer.OnErrorListener listener)
监听播放过程中的错误事件;
setonPreparedListener(MediaPlayer.OnPreparedListener listener)
当prepare()
被调用时触发。
然而,使用MediaPlayer播放时,也有一些问题。我们知道MediaPlayer在创建和销毁时都会耗费大量的系统资源,且创建和销毁的时间相对较长。此外,如果我们需要在同一时刻播放很多声音,MediaPlayer是不支持的。
因此,我们需要一个更加轻量级的声音播放工具。
Android提供了另外一种,叫做SoundPool,它适合播放那些需要反复播放,但时间较短的音效。它支持同时播放多种声音,这些声音在系统开始时会加载到列表中,按照这些声音的id,我们可以调用这些音效。
下面我们进入一个实例看看SoundPool到底是怎么工作的。
例如,现在在一个五子棋游戏中,我们需要在棋子落盘的时候播放一段声音。我们可以利用SoundPool,因为它时间很短,而且需要反复播放,并且我们不希望声音占用太大资源。
先看看代码:
private SoundPool soundPool; soundPool= newSoundPool(10,AudioManager.STREAM_SYstem,5); soundPool.load(this,R.raw.collide,1); soundPool.play(1,1,1);
代码非常简单,第一行是声明了一个SoundPool对象,这个一般是作为类的成员属性出现的。第二行将soundPool实例化,第一个参数为soundPool可以支持的声音数量,这决定了Android为其开设多大的缓冲区,第二个参数为声音类型,在这里标识为系统声音,除此之外还有AudioManager.STREAM_RING以及AudioManager.STREAM_MUSIC等,系统会根据不同的声音为其标志不同的优先级和缓冲区,最后参数为声音品质,品质越高,声音效果越好,但耗费更多的系统资源。
第三行,系统为soundPool加载声音,第一个参数为上下文参数,第二个参数为声音的id,一般我们将声音信息保存在res的raw文件夹下,如下图所示。
第三个参数为声音的优先级,当多个声音冲突而无法同时播放时,系统会优先播放优先级高的。
第四行就是播放了,第一个参数为id,id即为放入到soundPool中的顺序,比如现在collide.wav是第一个,因此它的id就是1。第二个和第三个参数为左右声道的音量控制。第四个参数为优先级,由于只有这一个声音,因此优先级在这里并不重要。第五个参数为是否循环播放,0为不循环,-1为循环。最后一个参数为播放比率,从0.5到2,一般为1,表示正常播放。
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android多媒体操作技巧汇总(音频,视频,录音等)》、《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android数据库操作技巧总结》、《Android文件操作技巧汇总》、《Android资源操作技巧汇总》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
c# – 如何在asp.net网页中播放声音?
Soundplayer x = new Soundplayer(); x.soundLocation = "WindowsBalloon.wav"; //x.Play(); x.PlaySync();
错误:
Please be sure a sound file exists at the specified location.
但该文件存在于我的项目中,我确信该地址是正确的.
解决方法
原因
它将在服务器端而非客户端播放声音.
如下面的链接所述
– Problem With The C# System.Media.SoundPlayer Class On A Web Host
– What is the most “compatible” way of autoplaying sound?
解
>使用ASP.NET audio control.
>其他SO Answer超过同样的要求.
>使用任何其他基于Flash或Silverlight的插件.
>使用html embed标签或html5音频标签.例子可以在w3schools看到
基于Html5的音频解决方案(仅适用于现代浏览器)
>< embed> tag:< embed> tag定义外部(非HTML)内容的容器. (这是一个HTML5标记,在HTML 4中无效,但适用于所有浏览器).
<embed height="100" width="100" src="horse.mp3" />
>< object> tag:< object> tag还可以为外部(非HTML)内容定义容器.
<object height="100" width="100" data="horse.mp3"></object>
>< audio> tag:< audio> element是一个HTML5元素,但它适用于所有浏览器.
<audio controls="controls" height="100" width="100"> <source src="horse.mp3" type="audio/mp3" /> <source src="horse.ogg" type="audio/ogg" /> <embed height="100" width="100" src="horse.mp3" /> </audio>
请注意基于html5的解决方案的问题,您必须将视频转换为不同的格式. – < audio>元素不会验证为HTML 4和XHTML. – < embed>元素不会验证为HTML 4和XHTML. – < embed>元素无法“后退”以显示错误.
html – 在后台的网页中播放声音文件
autostart =“false”Hidden =“true”loop =“true”>< / embed>
问题是没有声音播放,除非我删除了这个案例上的隐藏属性声音文件播放,媒体播放器UI出现,但我不想要.
解决方法
<audio src="/music/good_enough.mp3"> <p>If you are reading this,it is because your browser does not support the audio element. </p> </audio>
如果你想要控件
<audio src="/music/good_enough.mp3" controls> <p>If you are reading this,it is because your browser does not support the audio element.</p> </audio>
并且还使用embed
<embed src="/music/good_enough.mp3" width="180" height="90" loop="false" autostart="false" hidden="true" />
ios – 在Sprite Kit中播放声音
#import <AVFoundation/AVFoundation.h>
而这个代码在touchBegin方法中:
[self runAction:[SKAction playSoundFileNamed:@"fire.m4a" waitForCompletion:NO]];
音频文件位于主文件夹中.当我运行应用程序并触摸应用程序关闭时,我收到以下错误:
Terminating app due to uncaught exception 'Missing Resource',reason: 'Resource fire.m4a cannont be found in the main bundle'
我认为这是在Sprite Kit中播放音频的方法,但我一定是做错了什么..
解决方法
记得选择
copy items into destination group...
并选择您的项目作为目标(而不是测试).
关于在react-js中播放声音和react 播放音频的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于Android开发中播放声音的两种方法分析、c# – 如何在asp.net网页中播放声音?、html – 在后台的网页中播放声音文件、ios – 在Sprite Kit中播放声音等相关内容,可以在本站寻找。
本文标签: