テンプレートに含まれるサウンド再生 API について

概要

SoundJS をはじめ、Android の WebView では標準ブラウザや Google Chrome と異なり、音声再生がうまくいかないことがあります。特に Android 4.4 系の端末では、音声再生がうまくいかないことが多々あります。

そこで、Shell App SDK には Native によるサウンド再生のためのサンプルを API として提供しており、Native での音声再生を簡単に実現することができますので、ぜひご利用ください。

以下、API の概要です。

  • 含まれる API では、ミュージックおよび SE の2種類の再生方法をサポートしています。
  • JavaScript API で音声ファイルを再生させるためには、あらかじめ Native 側にファイルを登録しておく必要があります。

JavaScript API

JavaScript API では、以下の機能をサポートしています。

  • ミュージックは  sdksample.Music クラスを利用して再生することができます。
  • SEは sdksample.SoundEffect クラスを利用して再生することができます。
  • ミュージックと SE を同時に再生することができます。
  • SE ファイルは一度再生するとメモリ上にプールされるため、2 回目以降の再生ではロード時間が短縮されます。

API

sdksample.Music.play

ミュージックを再生します。

  • 別アプリにてバックグラウンドで音楽が再生状態の場合は、一時停止させた上で BGM を再生します。Music.play() or resume() がコールされたタイミングでチェックします。
  • サスペンド時にはミュージックを一時停止します。一時停止された別アプリのバックグラウンドの音楽は再開しません。
  • レジューム時にはミュージックを停止した位置から再開します。
  • ボリュームコントロールは提供しておりません。
  • サウンド ON, OFF の設定 API は提供しておりません。

パラメータ

名前説明

name

String

再生するサウンドファイル名の文字列表現 
存在しないファイル名の場合は再生されません。

fadeTime

Number

ミュージックが切り替わる際のフェードの長さ(秒) 
0 の場合はフェードしません。
省略時はフェードしません。 

loopCount

Number

ループ再生する回数 
-1 の場合は無限ループします。
省略時は無限ループします。 

  • 返り値
    • なし

サンプル

sdksample.Music.pause

再生中のミュージックを一時停止します。

  • パラメータ
    • なし
  • 返り値
    • なし

サンプル

sdksample.Music.resume

一時停止中のミュージックを再生します。

  • パラメータ
    • なし
  • 返り値
    • なし

サンプル

sdksample.Music.stop

再生中のミュージックを停止します。

パラメータ

名前説明

fadeTime

Number

ミュージックが切り替わる際のフェードの長さ(秒) 
0 の場合はフェードしません。
省略時はフェードしません。 

返り値
なし

サンプル

sdksample.SoundEffect.play

SE を再生します。

  • 別アプリにてバックグラウンドで音が再生状態の場合でも SE は再生されます (ワンショットのみ)。

パラメータ

名前説明

name

String

再生する SE ファイル名の文字列表現 
存在しないファイル名の場合は再生されません。

  • 返り値
    • なし

サンプル

Native API

JavaScript API から指定するサウンドファイルは、予め Native 側で名前を登録しておく必要があります。登録することによってその名前で Music.play() や SoundEffect.play() などの JavaScript API から参照することができます。

注: サンプルコードではネットワーク上のサウンドファイルのストリーミング再生には対応していません。APK/app 内のリソースまたはローカルファイルからの再生になります。

Android

iOS

対応フォーマット

 

 

更新履歴

  • 2015/11/24
    • Android 4.4 系で SoundJS 等での音声再生がうまくいかないことがあることを追記
  • 2015/02/05
    • 新規作成
 

 

 

 

PREVIOUS

アップデート通知機能の組み込みと利用

NEXT

iOS 9 以降で Shell App SDK for iOS 1.4.0 以下を動かす時の注意点