tyrano apk化の音問題
2669の記事
で言ったけど。
tyranoscriptで作ったヤツで、Android Studioでapk化しても…
自機のAndroid 4.4だと、音が鳴らなかったんだよね。
で。
>アプリに内包されている音ファイルをsdにコピーして…
だけど。
これの思考が上手くいったみたい。
内部ストレージに保存して。読ませる。
ただ…私、Android系のプログラミング出来ないので…。
Ω\ζ°)チーン
なんですけどねっ。Σ(・ε・;)
とにかく、
http://d.hatena.ne.jp/h_mori/20121002/1349134592
さんが公開してたStorageManagerを拝借。
tyranoframeworkのMainActivity。
public class MainActivityの最初の方で、StorageManagerを使ってassets/dataを内部ストレージにコピーするコードをサンプルを参考に、調整して書いて。
あとは、tyrano/plugins/kag/kag.tag_audio.jsで、音ファイルのパスを指定しているコードを調整。
とかなっている部分を
それだけで、とりあえず、音は鳴り始めた。
ただ…今度は、音がループしない。
1回で止まる。
と言う問題が。
同じく、・kag.tag_audio.jsを弄る。
javascriptも( ′∇ソ ヨーワカランけど。
テケトーに弄ってたり調べたり。
なんか、
・audio_obj.loop=trueでも効かない環境があるそう。
・audio_obj.loop=trueを指定すると、endedイベントは発生しない
とか書かれてて。
(´ε`;)ウーン…??でしたね。
なんやかんや。やってて。
の
をコメントアウトしといて。
って記述があるところが有ったので。
え、この範囲を使えば(゚з゚)イインデネーノ??的な。
これって、イベント発生のアレだろ?
細かくは、判らないので。
を追加したら…。
あらまっ!ループするようになったんですけど…。
っと言う落ち。
自機に関しては、解決できてしまったようだ…。
ただ、他のAndroidのバージョンでも効くのか不明である
Ω\ζ°)チーン
*6/21 コード部修正。
で言ったけど。
tyranoscriptで作ったヤツで、Android Studioでapk化しても…
自機のAndroid 4.4だと、音が鳴らなかったんだよね。
で。
>アプリに内包されている音ファイルをsdにコピーして…
だけど。
これの思考が上手くいったみたい。
内部ストレージに保存して。読ませる。
ただ…私、Android系のプログラミング出来ないので…。
Ω\ζ°)チーン
なんですけどねっ。Σ(・ε・;)
とにかく、
http://d.hatena.ne.jp/h_mori/20121002/1349134592
さんが公開してたStorageManagerを拝借。
tyranoframeworkのMainActivity。
public class MainActivityの最初の方で、StorageManagerを使ってassets/dataを内部ストレージにコピーするコードをサンプルを参考に、調整して書いて。
あとは、tyrano/plugins/kag/kag.tag_audio.jsで、音ファイルのパスを指定しているコードを調整。
if ($.userenv() === "android" || $.userenv() === "andoroid") src_url = "./data/" + target + "/" + pm.storage;
とかなっている部分を
if ($.userenv() === "android" || $.userenv() === "andoroid") src_url = "/data/data/{パッケージ名}/app_data" + target + "/" + pm.storage;
それだけで、とりあえず、音は鳴り始めた。
ただ…今度は、音がループしない。
1回で止まる。
と言う問題が。
同じく、・kag.tag_audio.jsを弄る。
javascriptも( ′∇ソ ヨーワカランけど。
テケトーに弄ってたり調べたり。
なんか、
・audio_obj.loop=trueでも効かない環境があるそう。
・audio_obj.loop=trueを指定すると、endedイベントは発生しない
とか書かれてて。
(´ε`;)ウーン…??でしたね。
なんやかんや。やってて。
if (pm.loop == "true") {
audio_obj.loop = true;
audio_obj.onended = function () {
this.play()
}
}
の
// audio_obj.loop = true;
をコメントアウトしといて。
if (is_new_audio == true) audio_obj.addEventListener("ended", function (e) {
if (pm.target == "se") {
that.kag.tmp.is_se_play = false;
that.kag.tmp.is_vo_play = false;
if (that.kag.tmp.is_se_play_wait == true) {
that.kag.tmp.is_se_play_wait = false;
that.kag.ftag.nextOrder()
} else if (that.kag.tmp.is_vo_play_wait == true) {
that.kag.tmp.is_vo_play_wait = false;
setTimeout(function () {
that.kag.ftag.nextOrder()
}, 500)
}
} else if (pm.target == "bgm") {
that.kag.tmp.is_bgm_play = false;
if (that.kag.tmp.is_bgm_play_wait == true) {
that.kag.tmp.is_bgm_play_wait = false;
that.kag.ftag.nextOrder()
}
}
});
って記述があるところが有ったので。
え、この範囲を使えば(゚з゚)イインデネーノ??的な。
これって、イベント発生のアレだろ?
細かくは、判らないので。
if (is_new_audio == true) audio_obj.addEventListener("ended", function (e) {
if(pm.loop == "true"){
this.currentTime = 0;
this.play();
}else{
if (pm.target == "se") {
that.kag.tmp.is_se_play = false;
that.kag.tmp.is_vo_play = false;
if (that.kag.tmp.is_se_play_wait == true) {
that.kag.tmp.is_se_play_wait = false;
that.kag.ftag.nextOrder()
} else if (that.kag.tmp.is_vo_play_wait == true) {
that.kag.tmp.is_vo_play_wait = false;
setTimeout(function () {
that.kag.ftag.nextOrder()
}, 500)
}
} else if (pm.target == "bgm") {
that.kag.tmp.is_bgm_play = false;
if (that.kag.tmp.is_bgm_play_wait == true) {
that.kag.tmp.is_bgm_play_wait = false;
that.kag.ftag.nextOrder()
}
}
}
});
を追加したら…。
あらまっ!ループするようになったんですけど…。
っと言う落ち。
自機に関しては、解決できてしまったようだ…。
ただ、他のAndroidのバージョンでも効くのか不明である
Ω\ζ°)チーン
*6/21 コード部修正。
Tag : [開発] [tyrano] [android4.4] [apk] [音が鳴らない]
カテゴリ
開発
更新日
2017/06/21(水) 10:58
作成日
2017/06/19(月) 18:02
コメント
0
▼コメント▼
書き込みはありません。