- 締切済み
ハイブリッドアプリ開発:音の出し方について
はじめまして。お世話になります。 ハイブリッドアプリ開発を勉強している初心者です。 現在、PhoneGapBuildを利用して開発をしているのですが、 Web上にアップしたものですとスマートフォンからでも問題なく音が出るのですが、 アプリ化すると音が出なくなってしまいます。 とりあえず、動かしたい環境はAndroidです。 何の設定が必要なのか、調べても分からず困っています。 「config.xml」の記述かな?とも思って以下の一文を入れてみたのですが、だめでした。 <uses-permission android:name="android.permission.RECORD_AUDIO" /> 記述方法もよくわからず、そのまま置いてしまったのですがそれがよくないのでしょうか・・ すみませんが、もし記述箇所の問題であれば、どのように記述すれば良いのか 参考になるようなものをいただけますでしょうか。 audioの記述部分は以下のような状態で、JavaScriptからplay()させています。 <audio id="sound"><source src="se.mp3"><source src="se.ogg"></audio> 何かご存知の方いらっしゃいましたら、アドバイスいただけますでしょうか。 よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
PhoneGapなどHTML5+JavaScriptでアプリを作成する開発ツールは、WebViewを使って画面表示を作成していると思います。WebViewでは、<audio>タグによるオーディオ再生はできなかったように思います。 PhoneGapのドキュメントを見たところ、Mediaオブジェクトを利用して再生するのが基本のようです。手元にPhoneGap環境がないので試してませんが、こんな感じで行うようですね。 audiofile = new Media("/android_asset/sound.mp3", function() { //alert("Success"); }, function(err) { alert(err); } ); audiofile.play(); また、user-permissionも必要なようです。これはconfig.xmlとAndroidManifest.xmlの両方に追記が必要のようです。 (in app/res/xml/config.xml) <feature name="Media"> <param name="android-package" value="org.apache.cordova.AudioHandler" /> </feature> (in app/AndroidManifest.xml) <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> このあたりはドキュメントに書いてありますので詳細はそちらを読んで下さい。 あらゆる開発は、まずは正規ドキュメントを読むことから始まりますので。
お礼
ご丁寧に、ありがとうございます!! とても参考になりました。 また、ドキュメントの存在も知りませんでした。。 こんな情報も準備されていたんですね。 これからじっくり読んで試してみたいと思います♪