問題タブ [javax.sound.sampled]
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.
java - 逆再生、java
私はあなたの助けが必要です。.wavファイルを逆方向に再生するために次のコードを調整するにはどうすればよいですか?
どんな助けでも大歓迎です..ありがとう。カルロス
java - Java サウンドと MP3SPI を使用した特定の mp3 のストリーミングに関する問題
Java Sound libaray を使用して、Java でアプリケーションを作成しています。これにより、個人のライブラリから使用しているコンピュータに音楽をストリーミングできます。上手くいっている。mp3 のストリーミングに成功しましたが、時折クラックやポップが発生しました。ただし、私のテスト ファイルの 1 つで、定期的かつ頻繁にストップ アンド ゴーのような動作が発生しました。
これは、SourceDataLine に十分な速度でデータを入力できず、アンダーフローしていることを示しています。私が試したことはすべてこれを解決していません。これがデータバイトを取得する方法と関係があるのではないかと思っているので、使用している方法を投稿しています。それはここにあります。私が話している方法はトップボックスです。データを取得し、ソケットを使用してネットワーク経由で送信し、クライアント側の適切な行に書き込むように変更しました。
これを引き起こす原因についてのアイデアはありますか?私はオーディオファイルを読んでみましたが、これを引き起こす原因については何も進んでいません. 前もって感謝します。
java - Java Voice Chat - 単一出力用のミックスダウン受信データ
Java ボイス チャット アプリケーションを作成しようとしていて、エコー機能を実現しましたが、複数のクライアントに接続しようとすると行き詰まります。ソケットを反復処理して、データをミックスダウンせずに接続されているすべての人にデータを送信できないことを理解しています。(私は試してみましたが、本来あるべきようには聞こえません)。何をすべきかよくわかりません。サーバーとして非常に単純なバイトバッファーのエコーサーバーを使用しています (ミックスダウンを実行したい場所)。また、マイク入力を取得してサーバーに送信し、サーバーからデータを取得して、そのデータをスピーカーから再生するクライアントもあります。
注: クライアントは 2 つのクラス (Program と SoundReceiver) で構成されます。javax.sound.sampled ライブラリを使用しています。
エコーサーバー: http://pastebin.com/c9KiaTpJ
クライアント プログラム クラス: http://pastebin.com/v24CYwXE
クライアント サウンドレシーバー クラス: http://pastebin.com/2tt0Jucv
基本的に、すべての着信バイトを 1 つのバイト配列にマージしながら、全員の声をフルに維持したいと考えています (3 方向通話のように)。
clojure - Clojure でスレッド化されたサウンド ループを停止する
スレッド化されたループ サウンド クリップがあります。
問題は、スレッドを強制終了しようとしたときです。
永久に再生されるクリップは停止しません。(.stop clip)
それを停止する唯一の方法は、明示的に呼び出すことであることがわかりました。私の質問:これを行うための最良/慣用的な方法は何ですか? 私はClojureにかなり慣れてfuture
いないので、これまでのところ実験しただけagent
ですが、このコンテキストではもっと適しているでしょうか?
更新:.loop
関数がノンブロッキングであることを考えると(以下で説明したように)、頭文字を取り除くことで設計を簡素化しましたfuture
:
制御とともにatom
:
私はループを開始します:
そしてそれを止めます:
java - 2 つの WAV ファイルの連結に失敗しました
2 つの wav ファイルを連結するこの単純なコードがあります。非常にシンプルで、コードはエラーなしで実行されます。しかし、出力ファイルに問題があります。生成された出力ファイルは再生されません。驚いたことに、入力ファイル「a.wav」と「b.wav」のサイズは両方とも 500Kb を超えているのに対し、そのサイズはわずか 44 バイトです。
これが私のコードです:
java - java AudioInputStream AudioSystem.write to パイプ長エラー
ライブラリから取得した AudioInputStream をこのプロセスにパイプしようとしています:
経由
エラーが表示されます:
そのため、オーディオ ストリームの長さを指定する必要があるようです。これは、長さが指定されていない 44.8 kHz ステレオ PCM 形式のオーディオです。これはライブラリから取得したため、コードを変更できません。このストリームから別の AudioInputStream を作成しようとしましたが、適切な長さが見つかりませんでした。では、どのように長さを指定できますか?
java - Javaのソケット間でオーディオを渡す方法
ソケット間でオーディオを渡そうとしますが、クライアントが動作を停止するよりも、クライアントで 1 回渡します。私の書き込みと送信の方法が間違っている可能性があると思います このコードに関して私を助けてください 以下は私のサーバーコードです:
以下は私のクライアントコードです:
public void run(){
これは、サーバーからクライアントに「オーディオ」メッセージを受信したときに実行する必要がある関数です。
java - Clip java 使用時の OutOfMemoryError
解決済み:解決しました!! netbeans ide 構成自体ではなく、netbeans ide でプロジェクト プロパティのヒープ サイズを増やす必要がありました
私は非常に単純なゲーム アプリケーションを持っています。javax.sound.sampled パッケージの Clip オブジェクトを使用してバックグラウンド ミュージック (長さ約 9m、サイズ 8mb の mp3 形式ファイル) を再生します。これを wav ファイルに変換し、 87MBになりました>_<。そして、ボタンに使用する小さな wav ファイルがあります。問題は、プログラムを終了するたびに OutOfMemoryError が発生することです。最初に長波ファイルをクリックした後、短いクリップを複数回クリックし、終了ボタンをクリックして終了すると、そのエラーが表示される場合にのみ、多少同じ問題を模倣するアプリを作成しました。ただし、他の人がこのサンプルを試してテストするために同じ wav ファイルを提供する方法がわかりません
java - Java - mp3plugin を使用して mp3 ファイルを再生しようとするとエラーが発生する
私は音楽ビジュアライザーを作成しており、mp3plugin ( http://pscode.org/lib/mp3plugin.jar ) を使用して Java で mp3 ファイルを再生しようとしています。しかし、おそらくこのプラグインを使用したり音楽をコーディングしたりする経験が不足しているため、エラーが発生しました。
私はこのコードをさまざまな mp3 ファイルでテストしましたが、すべて同じ問題がありました。mp3 ファイルに問題があることをある程度確信を持って除外できると思います。
以下の私のコード:
私が得るエラー:
(このコードを実行する私が作成したクラス インスタンスは Run と呼ばれることに注意してください)
プラグイン ファイルを含む、以下の私のプロジェクト構造:
java - Java AudioSystem: 32 ビット Wav ファイルの読み取り
私は 16 ビットと 24 ビットのサンプリング ビット深度でオーディオ ファイルを読み込んでおり、それらを解析して問題なく長さを判断しています。ただし、32ビットファイルを読み取ると、
32 ビットのテスト ファイルは、他のファイルと同じ方法 (リニア PCM) で手動でエンコードされます。AudioSystem が 32 ビット Wavs をサポートしていないのか、それとも回避策があるのか疑問に思っています。参考までに、私のクラスは次のとおりです。
洞察をありがとう。