問題タブ [soundpool]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - SoundPool のストリーム音量と AudioManager の音量
私はとても混乱しています...
SoundPool.play(int soundID, float leftVolume, float rightVolume , int priority, int loop, float rate)
ボリュームは 0.0 から 1.0 です
私が見たチュートリアルでは、ストリーム ボリュームを次のように計算することを推奨しています。
これは理にかなっています。
このボリュームは、ユーザーが電話で設定したグローバル メディア ボリュームをオーバーライドし、soundPool のストリーム ボリュームを変更することで、アプリのボリュームを個別に変更できると想定します。
しかし、実際には乗数のように機能します。サウンドプールのボリュームに 0.5 を設定すると、実際のボリュームは常にグローバル ボリュームの半分になります。非常に簡単に再現できます:
- 電話設定でグローバル メディア ボリュームを最大に設定する
- soundpool.play を使用してアクティビティの音量を 0.5 に設定 - サウンドを再生
- soundpool.play のボリュームを 1 に設定します - サウンドを再生すると、2 倍の音量になります
誰かがなぜそれがそのように機能するのか説明できますか? SoundPool.play メソッドに渡されるボリュームは、本当にグローバル ボリュームの乗数ですか?
android - SoundPool を使用して 10 ~ 20000Hz の正弦波を生成する
最初に AudioTrack を使用して正弦波を生成しようとしました。結果は満足のいくものではありませんでした。その後、サウンドプールのクラスに移りました。Audacity を使用して 1 秒のオーディオファイルを作成し、再生速度 (.5 ~ 2.0) を変更して目的の周波数を取得しました。(配列、のこぎり波と三角波ファイルもあるため)
次に、選択した周波数に応じてオーディオを再生します。
私が見たところ、この方法は 5000 ~ 20000 Hz の範囲を除いて正常に機能します。私はこれについて頭を悩ませていますが、なぜそれが機能していないのか、問題のパターンが見つかりません。
この方法に根本的な問題はありますか?
よろしくお願いします
編集:「説明されていません」 5000〜20000 Hzの範囲で正弦波を再生すると、周波数が不正確であることは明らかです。これは、ピッチがかなりずれていることを意味します。たとえば、19000 Hz は低すぎて、耳で簡単に検出できます。私が言えることは、10000 Hz (5000 Hz も同様です - 私の間違い) であり、通常の再生レートは正しいということです。14kHz あたりで、信号のピッチが正しくなくなります。
考え/考えられる原因(?): (A)再生速度 (SoundPool) には何段階ありますか? ドキュメントには 0.5-2.0 とありますが、これは 15 の異なる再生速度があることを意味しますか? (B) Audacity を使用して .ogg ファイルを生成しました。10000Hz の正弦波を拡大すると、滑らかすぎず (サンプル レート 44100)、波形が正確に 0 で開始および終了していないことがわかります。
android - Soundpool を使用して Android アプリの raw フォルダーに挿入された SD カードからサウンドをロードするにはどうすればよいですか?
この例を使用して、 Androidappでサウンドを読み込んで再生しています。で新しい音を追加していmSoundManager.addSound(2, R.raw.sound1);
ます。アプリの raw フォルダーに挿入された SD カードからサウンドをロードするにはどうすればよいですか?
android - Android SoundPool でサウンド ファイルを短くカットする
私はAndroidにかなり慣れていないので、優しくしてください!
私は次のコードを持っています。これは、「developersshort」を再生するだけだと思います。
[何が起こっているのかを把握するために、現在、「開発者」と叫んでいるスティーブ・バルマーのリミックスを繰り返し再生しています! 音声ファイルのサイズは ~90KB です。]
エミュレーターでアプリを実行し、ボタンを押してサウンドをトリガーすると、期待どおりに「開発者、開発者、開発者...」などと表示されます。
しかし、携帯電話に展開すると、「ベロップ」のような音が1回聞こえた後、音が止まります。
何が起こっているのかわかりません。何かアイデアはありますか?
どうもありがとう!
android - Androidでサウンドの再生が終了したかどうかはどうすればわかりますか?
サウンドの再生が終了したかどうかはどうすればわかりますか?
2つのサウンドを再生したいのですが、1つのサウンドを再生してから、1番目のサウンドが完了するまで待ってから2番目のサウンドを開始します。
また、ビューフリッパーで次のビューを表示するなど、サウンドが終了したときに何か他のことをしたい場合は、それを行うことができますか?
現在、SoundPoolを使用してサウンドを再生しています。
android - SoundPoolを使用してサウンドを同期する方法
私はいくつかのサウンドを同時に再生しようとしています。現在、SoundPoolの共有インスタンスを使用しています。1、2、3音を、ラグなく同時に再生したいのですが。
SoundPool.play(...)Xを連続して呼び出すと、思ったとおりに音が再生されます。すべてのサウンドを同時に再生する準備をして、それらを1つとして再生できるようにするために、これを実現するための適切な方法は何ですか?
sudoコード:
android - 2 つの音を同時に鳴らす
Android で 2 つのサウンドを同時に再生しようとしています。2 つの MediaPlayer を作成し、以下のコードを使用しています。
ありがとう
android - Android SounPool が重複しない
Androidで順番に再生したい3つのサウンドがあります。私は、SoundPool を作成し、「maxStreams」を「1」に設定しました。for ループでは、サウンドが「一度に 1 つずつ」一度に再生されるわけではないと考えています。残念ながら、これは間違っています。soundPool を使用して、サウンドを一度に再生するのではなく、順番に再生するにはどうすればよいですか。ありがとう。
java - new File ( path ) は常にファイルがないと言う
私の問題は、説明するのが少し難しいです。
私のプロジェクト(およびapkファイル)には、別のリソースフォルダーがあります。
私はすでにそれを使用することができます
しかし、実際にはファイルをSoundPoolにロードしたいと思っています。私はこのようにしてみました:
...しかし、常にエラー情報が表示されます:「/リソースの読み込み中にエラーが発生しました...」
load(String path, int ) このリンクで、ファイルの正しいパスが必要であることがわかりました
今私の質問:それが機能する道はどのようになっていますか。または、私の問題に対する他のアイデアはありますか (AssetManager と一緒に) ?
ところで。R.id.View のようなリソースを取得する Android の特別な方法があることは知っていますが、私の場合は扱いが簡単ではありません。
ありがとう!
android - Androidで特定の周波数のサウンドを再生する
ギターのアプリケーションに似た、ユーザー入力に基づいてAndroidで特定の周波数のサウンドを再生したいと思います。誰かがそれを行う方法を教えてもらえますか?res \ rawフォルダーにすべての周波数サウンドを含める必要がありますか?