問題タブ [jlayer]
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 - javazoom のプレーヤーの使用に関する問題
JLayer Class Player を使用して mp3 ファイルを再生しようとしています。スレッドを開始した後
myPlayer.play()
、曲の最初の数百ミリ秒を聞くことができ、その後プレーヤーが中断し、次のエラー メッセージが表示されます。
インターネットで解決策を検索したところ、特定の .mp3 ファイルの問題が原因でこのエラーが発生する可能性があることを読みましたが、.wav ファイルまたは .wma ファイルは受け入れられませんでした。プレーヤーを動作させる方法を知っている人はいますか? 前もって感謝します
java - JProgressBar 上の JLayer を使用してカスタム JComponent を作成する
JLayer クラスを利用するカスタマイズされた JProgressBar を作成して、状況に応じて異なる色にできるようにしようとしています。問題は、管理しやすくするために、何らかの JComponent としてラップしたいということです。カスタマイズされた JLayer として公開しますが、そのクラスはシールされているため、何もしません。
JComponent にしようとしましたが、画面に何も描画されません (おそらく、他のコンポーネントを内部に含むカスタム JComponent を作成する方法がわからないためですか?)。動作するJFrameを試しましたが、プログレスバーがJFrameを含むレイアウトマネージャーではなく、作成したJFrameのレイアウトマネージャーを使用しているため、サイズがすべて間違っています。描画する JProgressBar を試してみましたが、コンストラクターの後に追加のメソッド呼び出しを行わずに JLayer を返し、正しい階層を維持する方法がありません。
上記にリンクした質問のコードに大きく基づいたサンプルコードを次に示します。
私がどこで間違っているか知っている人はいますか?ありがとう!
編集:私の問題をよりよく表現するために、例をわずかに縮小し、修正しました。混乱させて申し訳ありません。
android - lame mp3で圧縮したmp3データをandroidでJLayerとAudiotrackで再生する
この例に従って、AudioRecord からの生のオーディオ データを mp3 に変換しましたが、このデータを mp3 ファイルに保存して音楽プレーヤーで再生すると、正常に再生されました。
ここで私の質問は、mp3 データをファイルに保存する代わりに、AudioTrack で再生する必要があることです。データは Red5 メディア サーバーからライブ ストリームとして送信されますが、問題は、AudioTrack が PCM データしか再生できないため、ノイズしか聞こえないことです。私のデータから。
現在、必要なタスクにJLayerを使用しています。
私のコードは次のとおりです。
この mp3buffer データは、Red5 ストリームによって他のユーザーに送信されます。
他のユーザーが受信したデータはストリーム形式であるため、それを再生するためのコードは
しかし、私のコードは 2 ~ 3 秒後に bitstream.readFrame でフリーズし、その前にサウンドも生成されません。
何が問題になると思いますか?どんな提案でも大歓迎です。
注:mp3データを保存する必要はないため、ファイルまたはファイル記述子が必要なため、MediaPlayerを使用できません。
java - JLayer と LayerUI による JLayeredPane のズーム
このスタック オーバーフローの質問では、Swing アプリケーションでズームを実装する最善の方法はJLayer
、Java 7 で提供されるデコレータを使用することであることが示唆されています。
私はOracleのチュートリアルに従ってきましたが、これを行う最善の方法ZoomUI
は、LayerUI
. これまでのところ、このクラスにはzoom
、実際のコンポーネントを描画する前に適用されるメンバー変数があると思います。
その後、同じクラスを使用してマウス イベントをキャッチし、ズームされていない座標にディスパッチできます。
最初のステップで少し問題があり、g2.scale(zoom, zoom)
以下の SSCCE で呼び出しが効果がない理由がわかりません。
この例では、マウス イベントに正しく応答するために、ズーム イン/ズーム アウト ボタンをクリックしたときとズームしたときにサイズが大きくなると予想しています。つまり、イベントをトリガーするために、以前存在していた場所をクリックする必要はありません。
悲しいことに、コメント行を変更してクリックする前にズームすることさえできないので、助けていただければ幸いです!
android - JLayer デコーダーで AudioTrack を使用する
私は、JLayer ライブラリを使用して MP3 ファイルをデコードし (オーディオ サンプルにアクセスする必要があります)、それを再生するために AudioTrack オブジェクトを使用する Android アプリケーションに取り組んでいます。私はこのようなものを持っています:
このコードは、AsyncTask として作成されたカスタム プレーヤーに配置されます。一般に、サウンド ファイルが聞こえるため、デコードと書き込みの方法は問題なく機能します。問題は、サウンドが定期的に 5 秒 (timeStep = 5000 ms) ごとにジャークすることです。ご覧のとおり、audioTrack.write(...) は非同期タスクをブロックするため、Decode メソッドの結果を待機するたびに Steps が発生するたびに短い一時停止が発生します。
outSignalBuffer を正しく配信してデコーダーからメソッドを記述し、スムーズな audioTrack プレーヤーを取得するための最善の方法について何かアドバイスはありますか?
android - mp3 ストリームおよび AudioTrack 再生用の JLayer デコーダー
サーバーから多くのことを再生してmp3を試した後(遅延の問題のためにMediaPlayerを使用していません)、ほとんど機能しているコードにたどり着きました。
Async タスクを使用してサーバーからストリームを取得し、それを jLayer のデコーダーにフィードして PCM データに変換します。次に、それを AudioTrack インスタンスにフィードします。
今は吃音がたくさん聞こえますが、少なくとも何かが聞こえるので、とても前向きです。
吃音を修正するのを手伝ってくれる人、または吃音を修正する方法を教えてくれる人はいますか?
とても有難い!
java - OSX で MP3 をロードするときの奇妙なエラー
私は tritonus、mp3spi、および jl1.0.1 を使用しています。Eclipse (OSX) でデバッグまたは実行しようとすると、NullPointerException
. しかし、Windowsでは問題なく動作します。何かアドバイス?これを機能させてクロスプラットフォームを開発したいと思っています。
それを奇妙にする部分は、それがMac上だけにあるということです.
ジュークボックス:
エラーはifステートメントの後にあります
java - JLayer Player は、ループに配置されると SWT ウィジェットのリフレッシュを上書きします
画像と .mp3 ファイルを取得し、オーディオが終了するとある画像から次の画像に移行するアプリケーションを作成しようとしています。これらの画像間をどのように移行するかの基本的なフレームワークは少し複雑ですが、SWT でアクションを取得して、ある画像から次の画像に手動で移行できるようにすることに成功しました。ただし、自動化しようとしたときに問題が発生しました。ループに入ると、displayShow() メソッドで行ったすべての呼び出しが解決される前に playAudio() メソッドが開始され、オーディオがまだ再生されているにもかかわらず、空白のウィンドウが表示されます。
ショーを開始したいアクションの実行メソッドは次のとおりです。
これが playAudio() です。問題なくオーディオを再生できます。
そして、ここにdisplayShow()があります:
show.showSlide は、最上位の親コンポジットの直接の子であるコンテナを親とするコンポジットを返します。新しく作成されたコンポジット内で、画像がラベルに追加され、ラベルの親がコンポジットに割り当てられます。displayShow() が別のスレッドにあるかどうかは重要ではないようです。これは私が試した最後のことでした。
リフレッシュが実行されない原因は、ループの追加だけではありません。手動トランジションを機能させる唯一の方法は、playAudio() メソッドから CountDownLatch を削除することです。このラッチを削除した場合、これら 2 つのメソッドをループに入れる唯一の方法は、while ループを埋め込むことです。これはかなりの量の CPU を占有しているように見えますが、それでも私の問題は解決しません。何か不足していますか?