音声を高速に読み込むプラグイン

くらむぼんさんへ。

こんばんは。くろうどです。
CordovaによるAndroidアプリ化は
私も使用するので成り行きを見ていたのですが、
XMLHttpRequest に関しては、
CORS制約というのがあるらしいです。
(今回の件と関係あるかは私の知識では分かっていません)

もし、関係あるならば、
ツクールMVプロジェクトをAndroid Studioで開くための
waffさんのプラグインがあるのですが、
こちらで解決できるかもしれません。

https://github.com/wafs702/rpg_maker_mv_android_sample
 

くらむぼん

モデレーター
スタッフ
モデレーター
こんにちは、さんくらむぼん。
更新ありがとうございます。

私はあなたの最後のAudioStreaming.jsを試しました。 Fetchに関する同様のエラーメッセージがまだ表示されます。

私の側からするべき何かがあります? 例えば:
- APK Permission の設定
- Android Manifest を編集
くらむぼんさんへ。

こんばんは。くろうどです。
CordovaによるAndroidアプリ化は
私も使用するので成り行きを見ていたのですが、
XMLHttpRequest に関しては、
CORS制約というのがあるらしいです。
(今回の件と関係あるかは私の知識では分かっていません)

もし、関係あるならば、
ツクールMVプロジェクトをAndroid Studioで開くための
waffさんのプラグインがあるのですが、
こちらで解決できるかもしれません。

https://github.com/wafs702/rpg_maker_mv_android_sample

くろうどさん、ありがとうございます!
しかし、おそらくXMLHttpRequestでCORS制約に問題があれば、画像やマップデータもまた読み込みできないと思います…!
(実際は、音声のみ読み込みできません)

RyanBramさん
私は今回のケースではCordova上での動作に成功しました。
したがって、もっと単純な見落としがあるものと思われます。

1.最新版のAudioStreaming.jsは正しく入手できましたか?AudioStreaming.jsを開いて、中に以下の記載が含まれていることを確認してください。

コード:
const response = await (!window.cordova ?
                fetch(url, { credentials: 'same-origin' }) :
                new Promise((resolve, reject) => {
                    const xhr = new XMLHttpRequest();
                    xhr.responseType = 'blob';
                    xhr.onload = () => resolve(new Response(xhr.response, { status: xhr.status }));
                    xhr.onerror = reject;
                    xhr.open('GET', url);
                    xhr.send();
                })
            );

2.window.cordovaオブジェクトは存在しますか?以上の記載の最上部にGraphics.printError(window.cordova);を加えてください。
 

火筒さしゃ

ユーザー
おまたせ、しました…!
こちらの件、おそらく解決できたと思います!!
原因は、またしてもSafariのバグでした。このブラウザ燃やしたい…><
(わかる人向けに解説すると、sourceNode.start(when, offset, duration)のoffsetが限りなくbuffer.durationに近いけど少し小さい時、offset = 0扱いになってしまうというとんでもないバグ)

利用者のみなさんへ:
上と別件でバグ修正があります。iOS10などの古い端末やiOSシミュレーターをご利用の際に音がならない不具合があったので修正しました。
AudioStreaming.js、stbvorbis_stream.js、stbvorbis_stream_asm.jsを再入手して、ご確認ください~。

検証環境に最新のAudioStreaming.jsを適応した所、
無事にSafariの2重再生が発生しない事を確認しました。
本当にありがとうございます。

cordovaの件で難航されているようで、こちらでも確認出来ないかと、
検証環境をMonacaにUPしてハイブリッドアプリ化を試みましたが、
起動の段階で別要因のエラーで弾かれました…
お役に立てず申し訳無いです。
 

火筒さしゃ

ユーザー
気合でcordova環境をAudioStreaming.jsが通るまで修正した所、
RyanBram氏と同様、fetchのエラーが出る所まで確認出来ました。
そしてconsole.logでwindow.cordovaの有無を確認した結果
undefinedが入っている事を確認しました。
cordovaのバージョンは7.10とアップデートして9.0.0を試してみました。
 

Attachments

  • cordovaError.png
    cordovaError.png
    96.5 KB · 閲覧: 8

くらむぼん

モデレーター
スタッフ
モデレーター
更新ありがとうございます。



私はあなたの最後のAudioStreaming.jsを試しました。 Fetchに関する同様のエラーメッセージがまだ表示されます。



私の側からするべき何かがあります? 例えば:

- APK Permission の設定

- Android Manifest を編集

気合でcordova環境をAudioStreaming.jsが通るまで修正した所、
RyanBram氏と同様、fetchのエラーが出る所まで確認出来ました。
そしてconsole.logでwindow.cordovaの有無を確認した結果
undefinedが入っている事を確認しました。
cordovaのバージョンは7.10とアップデートして9.0.0を試してみました。

調査していただいてありがとうございます!
私は基本的なcordovaアプリケーションを生成して動作確認したのですが、
Monaca IDEではwindow.cordovaが存在しないのですね、驚きました!
というわけで修正しました。AudioStreaming.jsを再入手してお試しください。
 
最後に編集:

火筒さしゃ

ユーザー
cordovaの検証環境をAudioStreaming.js最新版に差換えた所、
無事にBGMやSEが再生され、ニューゲーム以降まで進められる事を確認しました。

一つ驚いたのはMonaca IDEにアップロードした際、
/www/audio ディレクトリがゴッソリ存在しなかった事です。
Monaca IDEに直接audioディレクトリをアップロードして事無きを得ましたが…

RPGツクールMV付属のmonacaアップローダが.m4aと対になっていない
audioファイルのアップロードに対応していない可能性があるかも知れません。
 

くらむぼん

モデレーター
スタッフ
モデレーター
cordovaの検証環境をAudioStreaming.js最新版に差換えた所、
無事にBGMやSEが再生され、ニューゲーム以降まで進められる事を確認しました。

一つ驚いたのはMonaca IDEにアップロードした際、
/www/audio ディレクトリがゴッソリ存在しなかった事です。
Monaca IDEに直接audioディレクトリをアップロードして事無きを得ましたが…

RPGツクールMV付属のmonacaアップローダが.m4aと対になっていない
audioファイルのアップロードに対応していない可能性があるかも知れません。

おお!これでついにCordova問題が解決ですね!よかったです~。
RPGツクールMVは、PCデプロイでoggファイルしか同梱しないのと同様に、モバイルデプロイではm4aファイルしか同梱しないのかもしれません。
こればかりはプラグイン側で対策しようがないので、ご自分でoggファイルを同梱していただくしかなさそうですね><
 

RyanBram

ユーザー
くらむぼんさん、どうもありがとうございました。

AudioStreaming.jsがCordovaプラットフォームで正常に実行できることを確認できます。 私もemscripten stbvorbisがモバイルプラットフォームで非常にうまく機能することができることに非常に驚いています。 私はhttps://websitetoapk.com/を使用して自分のプロジェクトをビルドしようとしました。これも内部的にはCordovaも使用しているようです。

もう一度、バグを修正するためのあなたのサポートとあなたの反応に感謝します。
 

RyanBram

ユーザー

ペリテイ

ユーザー
くらむぼんさんへ

AudioStreaming.jsありがたく使わせていただいています。
不具合と思われる現象が発生しましたので報告致します。

oggファイルを再生している時、2ループ目以降から音が断続的に途切れることがありました。
ファイルのビットレートは1536kbps、オーディオサンプルレートは48.000kHz、長さは4:57、サイズは2.54MBです。
音が途切れる時間や長さが様々であったため、ファイル破損の可能性は無いと考えています。
他のoggファイルでも同様の現象が起こりました。
また、イベント処理で
BGMの保存→BGMのフェードアウト→BGMの再開
とすることで一時的に解消されました。

環境
OS:Windows10(64bit)
メモリ:4GB
ツクールMVバージョン:1.6.2

環境依存性など他の原因もあるかもしれませんが、ご対応の程よろしくお願いします。
また、何か解決策をご存知の方がいらっしゃいましたら、ご助力頂けると助かります。

ペリテイ
 

くらむぼん

モデレーター
スタッフ
モデレーター
くらむぼんさんへ

AudioStreaming.jsありがたく使わせていただいています。
不具合と思われる現象が発生しましたので報告致します。

oggファイルを再生している時、2ループ目以降から音が断続的に途切れることがありました。
ファイルのビットレートは1536kbps、オーディオサンプルレートは48.000kHz、長さは4:57、サイズは2.54MBです。
音が途切れる時間や長さが様々であったため、ファイル破損の可能性は無いと考えています。
他のoggファイルでも同様の現象が起こりました。
また、イベント処理で
BGMの保存→BGMのフェードアウト→BGMの再開
とすることで一時的に解消されました。

環境
OS:Windows10(64bit)
メモリ:4GB
ツクールMVバージョン:1.6.2

環境依存性など他の原因もあるかもしれませんが、ご対応の程よろしくお願いします。
また、何か解決策をご存知の方がいらっしゃいましたら、ご助力頂けると助かります。

ペリテイ

ペリテイさん
貴重なご情報、ありがとうございます!
ぜひ調査して直したいところですが、私が適当に用意したoggでは48.000kHzであろうとも5分であろうとも正常に動作しました。

というわけで、まずそのoggファイルとはどんなものかが最重要になるかと思います!
そのファイルを使ったゲーム(問題が発生するゲーム)を限定公開してURLを貼っていただけるとありがたいです~
 

ペリテイ

ユーザー
ペリテイさん
貴重なご情報、ありがとうございます!
ぜひ調査して直したいところですが、私が適当に用意したoggでは48.000kHzであろうとも5分であろうとも正常に動作しました。

というわけで、まずそのoggファイルとはどんなものかが最重要になるかと思います!
そのファイルを使ったゲーム(問題が発生するゲーム)を限定公開してURLを貼っていただけるとありがたいです~
くらむぼんさん
了解しました。
つい先日公開したゲームで問題が発生しているので、下記のリンクからDLできます。
https://www.freem.ne.jp/win/game/20368

各ファイルの使用場面は次の通りになります。
タイトル:AkayoriAkaiyume.ogg
最初のダンジョン:MugenKairou.ogg
中ボス:Magical_and_Hopeless.ogg
2番目のダンジョン:AgarutanoKaze.ogg
祠にいる敵:TenshiDensetsu.ogg
ラスボス:The_Unfound_Branch.ogg
EDとスタッフロール:HouraiDensetsu.ogg

品質を変えても問題の改善にはならなかったため、公開版では高品質なものを使用しています。
品質を落としたファイルは下記リンクよりDLできます。
https://1drv.ms/u/s!AuM__D1utNLsgdUfjRKXb90xkTMCww?e=CLMID6
 

くらむぼん

モデレーター
スタッフ
モデレーター
くらむぼんさん
了解しました。
つい先日公開したゲームで問題が発生しているので、下記のリンクからDLできます。
https://www.freem.ne.jp/win/game/20368

各ファイルの使用場面は次の通りになります。
タイトル:AkayoriAkaiyume.ogg
最初のダンジョン:MugenKairou.ogg
中ボス:Magical_and_Hopeless.ogg
2番目のダンジョン:AgarutanoKaze.ogg
祠にいる敵:TenshiDensetsu.ogg
ラスボス:The_Unfound_Branch.ogg
EDとスタッフロール:HouraiDensetsu.ogg

品質を変えても問題の改善にはならなかったため、公開版では高品質なものを使用しています。
品質を落としたファイルは下記リンクよりDLできます。
https://1drv.ms/u/s!AuM__D1utNLsgdUfjRKXb90xkTMCww?e=CLMID6

すみません、何度か試したのですがまさに提示いただいた曲(MugenKairou.ogg)やその他の曲の2周めを聞いても
私のPCでは音が途切れることはありませんでした…!

どんなプログラムでも宿命として、「再現できないバグは直すのが困難」ということがありまして、
申し訳ないのですがこれは現時点で修正は難しそうです;;

あるいは、バグ解明のヒントがあれば直せるかもしれません。
バグの発生条件などについてもっと詳しい情報はありませんか?
たとえば、特定のPCでしか起こらないのならそれはどんなPCなのかなど、教えてもらえると助かります~。
どうぞよろしくおねがいします。
 

ペリテイ

ユーザー
すみません、何度か試したのですがまさに提示いただいた曲(MugenKairou.ogg)やその他の曲の2周めを聞いても
私のPCでは音が途切れることはありませんでした…!

どんなプログラムでも宿命として、「再現できないバグは直すのが困難」ということがありまして、
申し訳ないのですがこれは現時点で修正は難しそうです;;

あるいは、バグ解明のヒントがあれば直せるかもしれません。
バグの発生条件などについてもっと詳しい情報はありませんか?
たとえば、特定のPCでしか起こらないのならそれはどんなPCなのかなど、教えてもらえると助かります~。
どうぞよろしくおねがいします。

これ以上の事はこちらもわかっていないのが現状です。
ループ後に何かしらで多重再生している可能性があるのではと思い報告致しましたが、再現性が無いとのことなので見当違いだったようです。
ここまでのご対応ありがとうございます。
また何か分かり次第ご連絡させて頂きます。
 

shirokoma

ユーザー
はじめまして、プラグイン、使わせて頂こうと思っております。
大変素晴らしいプラグインだと思います、助かります。
しかし問題が発生しまっています。
まずwindows上ではうまく働いております。。
問題はブラウザ再生時になりますが、デスクトップ上でのchoromeでは再生されるのですが、

iphoneやipadではすべてのブラウザ(Safari・chorome・Edge等)
では再生できない事態が起きています。
まず使用曲ですがこちらの
https://peritune.com/blog/2019/03/20/carnival_dark/
「PerituneMaterial_Carnival_Dark_loop.ogg」及び「PerituneMaterial_Carnival_Dark_VL_loop.ogg」になります。
以前公開されているOggonly.jsを使用すると再生されるのですが、本プラグインAudiostreaming.jsだと再生されない
状況になっておりまして…。
ツクール内の「wind7.ogg」はiphone・ipadで再生されるのですが…。
対応お願いいただけないでしょうか?
理由さえわかればBGM側を変換したりして使えるようにしたいと思っております。
 

くらむぼん

モデレーター
スタッフ
モデレーター
はじめまして、プラグイン、使わせて頂こうと思っております。
大変素晴らしいプラグインだと思います、助かります。
しかし問題が発生しまっています。
まずwindows上ではうまく働いております。。
問題はブラウザ再生時になりますが、デスクトップ上でのchoromeでは再生されるのですが、

iphoneやipadではすべてのブラウザ(Safari・chorome・Edge等)
では再生できない事態が起きています。
まず使用曲ですがこちらの
https://peritune.com/blog/2019/03/20/carnival_dark/
「PerituneMaterial_Carnival_Dark_loop.ogg」及び「PerituneMaterial_Carnival_Dark_VL_loop.ogg」になります。
以前公開されているOggonly.jsを使用すると再生されるのですが、本プラグインAudiostreaming.jsだと再生されない
状況になっておりまして…。
ツクール内の「wind7.ogg」はiphone・ipadで再生されるのですが…。
対応お願いいただけないでしょうか?
理由さえわかればBGM側を変換したりして使えるようにしたいと思っております。

shirokomaさん、ご連絡ありがとうございます。
早速PerituneMaterial_Carnival_Dark_VL_loop.oggを新規作成のゲームに入れてiPhoneで再生してみましたが、なんと再生できてしまいました><

shirokomaさんもとりあえず、新規のゲームに最新版のプラグインを入れて、それで音がなるか試してもらえませんか?それで解決しなかったら、そのゲームへのリンクをください、調査します~。
 

shirokoma

ユーザー
失礼します。
対応しましたが、やはりBGMは鳴りませんでした…。
twitterにてDMを送らせて頂きましたので、確認をお願いいただければと思っております。
お手数おかけします。
 

くらむぼん

モデレーター
スタッフ
モデレーター
これ以上の事はこちらもわかっていないのが現状です。
ループ後に何かしらで多重再生している可能性があるのではと思い報告致しましたが、再現性が無いとのことなので見当違いだったようです。
ここまでのご対応ありがとうございます。
また何か分かり次第ご連絡させて頂きます。

ペリテイさん、おまたせしました!
運命的なことに、shirokomaさんのご報告に対応していたら「ループタグがない場合に二周目以降の先頭が途切れることがあるバグ」を直せました。
ペリテイさんの症状と極めて類似しているので、おそらくこれで不具合は直ったと思います!
最新版のAudioStreaming.jsを入手して、確かめてみてください~。

失礼します。
対応しましたが、やはりBGMは鳴りませんでした…。
twitterにてDMを送らせて頂きましたので、確認をお願いいただければと思っております。
お手数おかけします。

shirokomaさん、DM確認しました!
記載されていたURLをiPhoneで再生してみたのですが、どういうわけかやはりこちらの端末ではBGMは聞こえました。
とりあえず上記の通り一つバグは直しましたので、この最新版プラグインで直ったか試してもらえませんでしょうか?
 

shirokoma

ユーザー
失礼します、topにある最新プラグインを入れて確認をしました。
が、どうしても治らず…。
動画をとりましたので確認下さい。
こちらは開発環境での動画です。
https://www.dropbox.com/s/rlfgnvhaqespiim/IMG_1690.MOV?dl=0
そしてデフォルトからの動画になります。
https://www.dropbox.com/s/pvohxumexlyqopn/IMG_1692.MOV?dl=0
画像はデフォルトでのプラグイン設定とイベント設定になります。
DMでデフォルトの方のプロジェクトも一応お送りしますね
 

Attachments

  • スクリーンショット 2019-10-20 22.12.32.png
    スクリーンショット 2019-10-20 22.12.32.png
    50.8 KB · 閲覧: 3
  • スクリーンショット 2019-10-20 22.12.51.png
    スクリーンショット 2019-10-20 22.12.51.png
    92.9 KB · 閲覧: 2

くらむぼん

モデレーター
スタッフ
モデレーター
失礼します、topにある最新プラグインを入れて確認をしました。
が、どうしても治らず…。
動画をとりましたので確認下さい。
こちらは開発環境での動画です。
https://www.dropbox.com/s/rlfgnvhaqespiim/IMG_1690.MOV?dl=0
そしてデフォルトからの動画になります。
https://www.dropbox.com/s/pvohxumexlyqopn/IMG_1692.MOV?dl=0
画像はデフォルトでのプラグイン設定とイベント設定になります。
DMでデフォルトの方のプロジェクトも一応お送りしますね

shiromakoさん、新たな情報をありがとうございます!!
頂いたデフォルトからの動画でとても重要なことがわかりました。

そちらの動画ですが、タイトル画面でTheme6.oggのBGMと、ニューゲームを押したときのDecision1.oggのSEがなっていませんね!?
まさかとは思うのですが、あなたの真の不具合というのはPerituneMaterial_Carnival_Dark_loop.oggがならないことではなく、
すべての音声がならないことではないでしょうか?

だとしたら、調査の方法も全く変わります。
特定の音声ファイルの問題だったらそのファイルを中心に調べますが、すべての音声に問題があるならば、そもそも機械の故障の可能性もあります。
どうぞ今一度、不具合の詳しい情報を教えて下さい。
よろしくおねがいします。
 
トップ