GVKun编程网logo

在react-js中播放声音(react 播放音频)

13

在本文中,您将会了解到关于在react-js中播放声音的新资讯,同时我们还将为您解释react播放音频的相关在本文中,我们将带你探索在react-js中播放声音的奥秘,分析react播放音频的特点,并

在本文中,您将会了解到关于在react-js中播放声音的新资讯,同时我们还将为您解释react 播放音频的相关在本文中,我们将带你探索在react-js中播放声音的奥秘,分析react 播放音频的特点,并给出一些关于Android开发中播放声音的两种方法分析、c# – 如何在asp.net网页中播放声音?、html – 在后台的网页中播放声音文件、ios – 在Sprite Kit中播放声音的实用技巧。

本文目录一览:

在react-js中播放声音(react 播放音频)

在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中,音频、视频等多媒体元素的加入,使得应用程序的用户体验更好。可以说,现在的手机,已经远远不只作为通信工具,更成为娱乐、办公的必备产品。

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网页中播放声音?

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.

但该文件存在于我的项目中,我确信该地址是正确的.

解决方法

您无法使用 System.Media.Soundplayer课程在网页上播放文件!

原因

它将在服务器端而非客户端播放声音.

如下面的链接所述
– 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 – 在后台的网页中播放声音文件

html – 在后台的网页中播放声音文件

我想在我的网页上播放声音文件(不要媒体播放器UI出现),我的网站将在Fire-Fox上运行,我使用了Embed元素并设置了Hidden属性为true< embed name =“myMusic”src =“Masgon.mp3”type =“audio / midi”
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中播放声音

ios – 在Sprite Kit中播放声音

我在myScene.h中有以下代码:
#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中播放声音等相关内容,可以在本站寻找。

本文标签: