ホームページ > ウェブフロントエンド > uni-app > UniApp のオーディオの再生と録音に関するヒントと実践

UniApp のオーディオの再生と録音に関するヒントと実践

PHPz
リリース: 2023-07-04 13:37:37
オリジナル
2267 人が閲覧しました

UniApp (ユニバーサル アプリ) は、HTML5 に基づいてモバイル アプリケーション、アプレット、および H5 アプリケーションを開発するために使用できるクロスプラットフォーム アプリケーション開発フレームワークです。 UniApp では、オーディオの再生と録音が一般的な要件です。この記事では、オーディオの再生と録音に関するいくつかのテクニックと実践方法を紹介し、関連するコード例を示します。

1. オーディオの再生
UniApp では、uni.createInnerAudioContext() を使用してオーディオ オブジェクトを作成できます。以下は、単純なオーディオ再生コードの例です。

// 创建音频对象
const audio = uni.createInnerAudioContext();

// 设置音频源
audio.src = '__STATIC__/audio/sample.mp3';

// 播放音频
audio.play();

// 监听音频播放完成事件
audio.onEnded(() => {
  console.log('音频播放完成');
});

// 监听音频播放错误事件
audio.onError((err) => {
  console.log('音频播放错误', err);
});
ログイン後にコピー

上記のコードでは、オーディオ オブジェクトは createInnerAudioContext() メソッドを通じて作成されます。次に、 src 属性を使用してオーディオ ソースを設定します。ここでは静的リソースへのパスを使用します。次に、play() メソッドを呼び出してオーディオを再生します。 onEnded() メソッドを通じてオーディオ再生完了イベントを監視し、オーディオ再生が完了すると、コールバック関数がトリガーされます。 onError() メソッドを通じてオーディオ再生エラー イベントを監視します。オーディオ再生エラーが発生すると、コールバック関数がトリガーされます。

2. 音声録音
UniApp では、uni.startRecord() メソッドと uni.stopRecord() メソッドを使用して音声録音を行うことができます。以下は、簡単なオーディオ録音コードの例です。

// 开始录制音频
uni.startRecord({
  success: (res) => {
    console.log('音频录制成功', res.tempFilePath);
  },
  fail: (err) => {
    console.log('音频录制失败', err);
  }
});

// 停止录制音频
setTimeout(() => {
  uni.stopRecord();
}, 5000);
ログイン後にコピー

上記のコードでは、startRecord() メソッドを通じてオーディオ録音が開始されます。 startRecord() メソッドはパラメータとしてオブジェクトを受け取り、success 属性とfail 属性をオブジェクト内で定義できます。オーディオの録音が成功すると、success 関数が呼び出され、res.tempFilePath には録音されたオーディオの一時ファイルのパスが含まれます。オーディオの録音が失敗すると、fail 関数が呼び出され、err パラメータにエラー情報が含まれます。

setTimeout() メソッドで 5 秒の遅延を設定し、stopRecord() メソッドを呼び出してオーディオの録音を停止します。

3. 概要
この記事では、UniApp でのオーディオの再生と録音のテクニックと実践方法を紹介し、関連するコード例を示します。 createInnerAudioContext() メソッドでオーディオ オブジェクトを作成し、オーディオ ソースを設定してオーディオを再生し、onEnded() メソッドでオーディオ再生完了イベントを監視し、onError() メソッドでオーディオ再生エラー イベントを監視します。 startRecord() メソッドを通じてオーディオの録音を開始し、uni.stopRecord() メソッドを通じてオーディオの録音を停止します。この記事が UniApp でのオーディオの再生と録音の実装に役立つことを願っています。

以上がUniApp のオーディオの再生と録音に関するヒントと実践の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート