Ionic 2如何播放音效

3

我正在使用Ionic 2 / Angular 2开发一款应用程序。

这是一个通过SQLite数据库学习英语时态的应用程序。

我想要添加一个背景声音,使其一直循环播放。

用户可以通过测验来练习自己。当用户提交答案时,我想要播放音效。

两种不同的声音:一种是好的答案,另一种是坏的答案。

我已经尝试过Nativeaudio、angular-audio和Ionic audio模块,但每次文档都基于JavaScript而不是TypeScript,或者没有帮助。

使用本地音频,我曾经成功地播放了背景音乐,但之后它完全没有起作用,并出现了错误:EXCEPTION:未捕获(在Promise中):指定音频ID不存在引用。

对于其他解决方案(angular-audio和ionic-audio),我要么不知道如何安装它们,要么一旦安装就什么也没有:没有声音,也没有错误。

非常感谢您的帮助。


你好,欢迎来到StackOverflow!请参阅如何提问的指南:https://stackoverflow.com/help/how-to-ask 如果您能改进您的问题,那么有人能够帮助您的几率将会提高! - Philipp
你有检查过这个链接吗?http://ionicframework.com/docs/native/native-audio/ - Ehtesham Hasan
嗨,是的,我确实查看了Ionic文档中有关本地音频的内容,但没有找到我需要的东西。 - Guilhem
1个回答

8

安装:

$ ionic plugin add --save cordova-plugin-nativeaudio
$ npm install --save @ionic-native/native-audio

使用方法:

import { NativeAudio } from '@ionic-native/native-audio';

constructor(private nativeAudio: NativeAudio) { }

...

this.nativeAudio.preloadSimple('uniqueId1', 'path/to/file.mp3').then(onSuccess, onError);
this.nativeAudio.preloadComplex('uniqueId2', 'path/to/file2.mp3', 1, 1, 0).then(onSuccess, onError);

this.nativeAudio.play('uniqueId1').then(onSuccess, onError);

// can optionally pass a callback to be called when the file is done playing
this.nativeAudio.play('uniqueId1', () => console.log('uniqueId1 is done playing'));

Reference: https://ionicframework.com/docs/native/native-audio/


感谢您的回答,目前我已经通过使用HTML5音频标签来解决了这个问题。 - Guilhem
对我没有用。 我创建了一个播放声音的函数。在构造函数中还添加了nativeAudio。 barCodeSound() { this.nativeAudio.preloadSimple('beep', '../assets/audio/beep.mp3'); this.nativeAudio.play('beep', function () { console.log('==============beep played============'); }); } 我有什么遗漏吗? - Lalit Dashora

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接