Java入門・初心者質問スレ Part.9

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2019/03/09(土) 23:59:15.92ID:ACok0wnJ
Java初心者のためのスレッドです。

※前スレ
Java入門・初心者質問スレ Part.8
http://mevius.5ch.net/test/read.cgi/tech/1528370228/
680デフォルトの名無しさん
垢版 |
2020/03/22(日) 17:20:27.59ID:3eM1H9mL
>>666
LogFactoryクラスが見つからないよってことで
ライブラリを参照する必要があるのだろうけど
こういうときは公式サイトで依存するライブラリを調べたら良い

https://pdfbox.apache.org/2.0/dependencies.html
> Minimum Requirements
> PDFBox has the following basic dependencies:
>
> Java 6
> commons-logging

とあるんでcommons-loggingをクラスパスに追加すればおk
2020/03/22(日) 17:24:18.34ID:XUbWgAwJ
ほんとの意味でログも読めないレベルの馬鹿に
同じレベルの初心者が意気揚々と回答つけるから馬鹿が量産されてくんだよね
2020/03/22(日) 18:31:03.28ID:tV69WEV2
>>680
あざっす!
言われた通りにやったら上手く行きました!!!
2020/03/22(日) 18:33:28.16ID:tV69WEV2
>>681
お、他人が出した答えに乗っかっていく辺りにゴミクズさが出てるね
さすがお前らしい。
2020/03/22(日) 18:39:21.05ID:tBxk4CRN
>>683
横からでごめんやけど
少し上の方のググレカス君と思うから相手にしなくていいよ
2020/03/22(日) 18:53:06.34ID:kO5CFSwC
ググれカス君は春休みのキッズ
2020/03/22(日) 19:06:46.63ID:XUbWgAwJ
答えも何もログに書いててお前含めてお前と同レベルの馬鹿以外はみんなわかってんだけどw

池沼「classNotFoundって書いてる!原因を教えろ!(ムキッー!」
ワイ「いや答えかいてるやんw」
池沼「おまえらはレベルが低い!」

THE ガチ池沼
馬鹿すぎて草しか生えんw
2020/03/22(日) 19:12:08.18ID:XUbWgAwJ
でもここまでの馬鹿ってまずいないから
アンロード君の自演だと思ってる
文体のバカっぽさがアンロード君に似てるし
2020/03/22(日) 19:54:39.94ID:kO5CFSwC
クラスアンロードで恥かいたことめっちゃ根に持ってるのは分かった
2020/03/22(日) 20:08:49.48ID:XUbWgAwJ
英語読めなくて自分が赤っ恥のこきっぱじの醜態を晒したのに
なぜが相手が恥かいたことになってる脳内変換するキチガイっぷりもやべーんだよなアンロード君
こういうのが将来、重大な犯罪とか犯す犯罪者予備軍のキチガイなんだわ
バカなのに一生懸命背伸びしてるのも痛々しかったしw
2020/03/22(日) 23:30:54.23ID:rPTZG1kw
この下品な言葉遣いの人いつからこのスレに居ついちゃったの?
2020/03/22(日) 23:34:37.77ID:XUbWgAwJ
正論言われるとすぐ話逸らすし
ホント滑稽だね
2020/03/23(月) 01:53:23.82ID:MlJJ3ygS
自分が頓珍漢なこと言ってるのに、叩かれたら全部自演ってことにして敵を一人にしようとする
スレに張り付いて顔真っ赤にしてるお前じゃあるまいし、そんなめんどくせーことしねぇよ
2020/03/23(月) 10:07:45.67ID:IkZ6/wzn
英語読めなくて自分が赤っ恥のこきっぱじの頓珍漢な醜態を晒したのに
なぜがまたまた相手が頓珍漢なことを言った!と脳内変換するキチガイっぷりもやべーんだよなアンロード君
こういう脳障害者がいつか重大な犯罪とか犯す犯罪者予備軍のキチガイなんだわ
糞バカなのに一生懸命背伸びしてるのも痛々しかったしw
2020/03/23(月) 10:11:45.79ID:IkZ6/wzn
自分のアホさが理解できなくて相手に八つ当たり攻撃するところとか
このclassNotFound君とそっくりじゃんアンロード君w
2020/03/23(月) 14:46:17.03ID:hyndA6RO
一応ここは初心者スレだからね
英語がわからない人もいるし
696デフォルトの名無しさん
垢版 |
2020/03/24(火) 07:48:09.82ID:XYP68GGL
音を鳴らした時デーモンスレッドが消えないという現象に悩んでいます。
これが問題のクラスです。
https://ideone.com/r0mbjJ
.wavファイルはどれも「チャリン」とか「ピポッ」みたいな1、2秒の短いファイルです。
オーディオクリップを再生する時は Direct Clip というデーモンスレッドが立ち上がります。
デバッガでトレースしてみたところ、

new Chime().play(0);

とやると、43行目の

clip.open(ais[type]);

の部分で Direct Clip が立ち上がり、Eclipse のデバッグビューに現れます。
そして70行目の

clip.close();

が実行されると消滅します。
ところが、数十回に1度くらいの頻度で、このデーモンスレッドが消えません。

デーモン・スレッド [Direct Clip] (実行中)

という表示がデバッグビューにずっと残って、だんだんと増えていきます。
close文が実行されていないのかと思ってprint文を入れてみましたが、
問題が発生した時もちゃんと

open start stop close

と表示されています。頻度が小さいこともあって、どういう条件の時に起きるか特定できていません。
コードを見てここがおかしいというというところがあるでしょうか?
2020/03/24(火) 10:09:05.03ID:iThMGLi0
質問する前にまず日本語の勉強
2020/03/24(火) 10:15:35.62ID:iThMGLi0
それにしてもひっでぇソースだな
100行もないソースでよくここまで酷くできるもんだ
2020/03/24(火) 11:14:16.21ID:aQM8+Nbs
パワハラ期
2020/03/24(火) 11:25:11.44ID:cFvopTvT
>>696
SSCCE を書くようにしたほうが良い
実行可能じゃないと見る気起きない
2020/03/24(火) 11:42:52.29ID:aQM8+Nbs
有能なら一目見てわかるだろ
実行しないとわからないのは無能の極み
2020/03/24(火) 11:44:02.11ID:cFvopTvT
https://www.google.com/search?q=スレッド 同期化 可視性 java&oq=スレッド 同期化 可視性 java

とりあえずググリングワードとしてはこの辺り
同期化ちゃんとしたほうが良い
2020/03/24(火) 11:44:46.53ID:aQM8+Nbs
ちなみに俺は実行してもわからないし
SSCCEが何なのかもわからない
どうせ意識高い系のでくのぼうが作り出した造語だろと思ってるよ
2020/03/24(火) 11:45:54.59ID:aQM8+Nbs
>>702
曖昧な事言って誤魔化すな何行目か指摘してみろ
ここはお前の面接会場だ
2020/03/24(火) 11:46:06.77ID:cFvopTvT
後、
while(running == true)

これはヤバい奴が書くコード
2020/03/24(火) 11:58:01.32ID:iThMGLi0
例外をキャッチしても処理を止めない漢気あるクソコード
それがし、感服いたした
2020/03/24(火) 14:58:05.76ID:aQM8+Nbs
>>706
そこじゃねえわ
2020/03/24(火) 14:58:26.43ID:aQM8+Nbs
>>705
何がやばいのか説明しろ、おーん
2020/03/24(火) 14:59:28.32ID:aQM8+Nbs
お前ら結局わからないんじゃね?
2020/03/24(火) 15:00:35.84ID:aQM8+Nbs
お前らの回答は俺が審査する
2020/03/24(火) 15:59:50.53ID:elvJuWc8
いまどき炎上学習法は流行らないよ
見捨てられるだけ
2020/03/24(火) 17:12:26.78ID:iThMGLi0
まーた昨日のclassNotFound君=アンロード君が暴れてるのか
嘘でも何でもなくマジではお前は向いてないからとっとと回れ右しとけって
2020/03/24(火) 17:22:48.48ID:cFvopTvT
全員同一人物に見える病気
2020/03/24(火) 18:06:56.67ID:iThMGLi0
自演やめろゴミ
2020/03/24(火) 18:31:47.27ID:j8MbTW6x
>>708
>>705ではないが、俺も無限ループはダメだと言われた
理由は言われなかったが、おそらくループを抜ける部分に不備があった時に
本当に無限ループになってしまうというリスクを孕んでいるからかと
2020/03/24(火) 18:33:22.69ID:iThMGLi0
馬鹿すぎてワロタw
お前も回れ右
どうせ自演だろうけど
717696
垢版 |
2020/03/24(火) 19:02:41.61ID:XYP68GGL
いまだに原因不明ですが、0.5秒ごとに new chime().play(n); (n は 0 - 2) を500回繰り返すというプログラムにしたら、
時々プログラムが1秒くらい止まってその後 Direct Clip が増えるという現象が見られました。
これって何か関係ありますかね?
2020/03/24(火) 19:04:16.68ID:iThMGLi0
ここはお前の日記帳じゃねーから
入門書からやり直してこいカス
2020/03/24(火) 19:05:16.20ID:QE7Fq29+
volatile
synchronized
720715
垢版 |
2020/03/24(火) 19:13:42.00ID:j8MbTW6x
>>716
ここは初心者スレだ
言いたいことは分かったから用が済んだら出て行ってくれないか?
お前の様にロクに回答もせずただ人をこき下ろすだけの存在ってすげー迷惑なんだよ
2020/03/24(火) 19:32:14.50ID:iThMGLi0
初心者スレだからって初心者という言葉が免罪符になるとは限らない
だって君、初心者未満なんだもん
そういうのに答え教えても何も身に付かないんだよね
2020/03/24(火) 19:35:20.37ID:Euo0Ex/M
>>721
何ひとつ答え教えてねーヤツがよく言うわw
とっとと失せろ卑怯者!
2020/03/24(火) 19:37:46.21ID:iThMGLi0
わかったわかったw

while(running)

これ見て何か気づくか?
724696
垢版 |
2020/03/24(火) 19:43:55.33ID:XYP68GGL
>>719
色々試してみても変わらないです。
つけられるメソッド全部に synchronized をつけたら全く Direct Clip が消えなくなりました。
725デフォルトの名無しさん
垢版 |
2020/03/24(火) 19:47:06.40ID:h4RLamPb
君たちさ詰められたときに逃げられるように曖昧なことしか言ってないようだけど
そういうのやめようよ

フラグの同期が取れてないのが原因なのかね?
デッドコードしてコンパイル時に消されてるとするなら
一回もcloseは呼ばれない

質問者が確認したところではcloseは呼ばれてる
そのことからデッドコードとして消されてるわけではない

可視性の問題かなあ、仮想マシンでメモリの同期が保証されない場合
CPU依存になるわけだけれどもインテルのCPUだと強いメモリモデルだから
可視性の問題はほとんど起こらなかったりするわけだけれども
君たちは具体的にどういう問題だと認識してるわけですか?
2020/03/24(火) 19:51:05.10ID:iThMGLi0
回答を教えてもらう立場の奴が取る態度じゃないから
ノーアンサーでフィニッシュ!
727デフォルトの名無しさん
垢版 |
2020/03/24(火) 19:53:51.02ID:h4RLamPb
>>726
> while(running)
君の回答はこれだっけ? これでいんだっけ?
2020/03/24(火) 20:03:36.65ID:cFvopTvT
すげえ
やっと少しでもJavaに関係ある反応したと思ったら、
誰でも分かる超低レベルの内容を嬉々として答えてる
こいつすげえ
2020/03/24(火) 20:07:53.70ID:iThMGLi0
デーモンスレッドの問題にゴミみたいなキーワードしか並べられない低能が言うなアホカス
何行目か教えてやれよ?ん?どうだ?お前にわかるか?
どうした?アホ
2020/03/24(火) 20:09:50.48ID:iThMGLi0
>https://www.google.com/search?q=スレッド 同期化 可視性 java&oq=スレッド 同期化 可視性 java

なんだこれw
全然関係ねーわドアホw
今までアホすぎてわざわざ突っ込まなかったけど
こういう糞馬鹿が勘違いして俺の真似してんだよなw
低能糞アホ
消えろマヌケ
731デフォルトの名無しさん
垢版 |
2020/03/24(火) 20:12:40.33ID:h4RLamPb
>>730
全然関係なかったんだ、そうなんだ
2020/03/24(火) 20:21:29.82ID:iThMGLi0
中級者以上ならrunnableの実装見りゃすぐにわかるんだけど
ID:cFvopTvT ←こういう馬鹿は結局わからんもんだからすぐに同期ガーとかマヌケなこと書くんだよね
バカが真似すんなよアホ
2020/03/24(火) 20:59:11.09ID:cFvopTvT
少なくとも同期化してないのは一つの問題
while ループの書き方も問題

play の度、毎回 clip を open してるのと、setFramePosition(0) を入れてないから、そもそもリスナが 1回目しか呼ばれてないのが直接の原因

だけど、これだけは言わせてくれ
ID:iThMGLi0 こいつは 100% 何ひとつ理解してなくて、どんな回答でも全ての回答に対して間違ってるかのような示唆をする
そして技術的なことは一つも言わない、言ったとしても間違えてる
本当に迷惑だから消えてくれ

いっとくが、俺はアンロードの事書いたやつじゃねーからなw
自演とかわけわからんこと言ってくんなよ
2020/03/24(火) 21:12:59.44ID:iThMGLi0
もう答え教えてやるけど
clipをクラス変数で共有してるからだ

>少なくとも同期化してないのは一つの問題

ソースコードもまともに読めずに思い込みで「同期化してないのが問題!(キリィイイイイイイッ!」とかwww
バカの癖に回答側にまわって間違ったことをさも正解のように書く諸悪の根源ガイジ
おまえのような糞馬鹿がいるから初心者が余計に沼るんだよドアホ
お前みたいアホはもう死ねよカス
2020/03/24(火) 21:14:05.63ID:iThMGLi0
>play の度、毎回 clip を open してるのと、setFramePosition(0) を入れてないから、そもそもリスナが 1回目しか呼ばれてないのが直接の原因

これも全然関係ねーしwww
糞馬鹿
マジで死んどけガイジ
736デフォルトの名無しさん
垢版 |
2020/03/24(火) 21:14:50.97ID:h4RLamPb
なるほど、オブジェクトを使いまわしてるわけね
これで5000回まわしてみたけど再現しなかった
for (int i = 0; i < 5000; i++) {
  new Chime().play(i % 3);
}

こっちだと再現した
Chime chime = new Chime();
for (int i = 0; i < 50; i++) {
  chime.play(i % 3);
}
2020/03/24(火) 21:15:31.26ID:iThMGLi0
まぁもしこれが答えを誘導するための質問者の自演だとしたら
さすがにワイも一本取られたわw
ここまでの低能糞馬鹿ガイジを演じられるとか別の意味でかなり有能だからw
アホ
2020/03/24(火) 21:23:53.87ID:iThMGLi0
アンロード君みたいに開き直って
「おまえがおかしいんだ!(ムキッー!」 って言ってもええんやで?
糞馬鹿ガイジの ID:cFvopTvT 君?ん?どうした?ん??
739デフォルトの名無しさん
垢版 |
2020/03/24(火) 21:24:22.67ID:h4RLamPb
playのたびにclip変数が上書きされるから
clip.close()が呼ばれないってことかの?
2020/03/24(火) 21:28:00.37ID:iThMGLi0
>ID:iThMGLi0 こいつは 100% 何ひとつ理解してなくて

特大ブーメラン凄いですねぇ・・・ホントw
質問者は何でclipを共有するとスレッド残るのかこいつに教えてもらったら?w
どうだ?教えられるかカス?ん?
2020/03/24(火) 21:31:33.35ID:iThMGLi0
まず正しい回答してやっても礼の一つもないんだよねこういう奴って
ほんと舐めてるよね
礼も言わずに次々質問してんのなw
おまえも死んどけゴミ
二度とくるなアホ
742デフォルトの名無しさん
垢版 |
2020/03/24(火) 21:36:05.81ID:h4RLamPb
>>741
君、正しい回答したことあるの?w
2020/03/24(火) 21:37:27.03ID:iThMGLi0
消えろゴミ
744デフォルトの名無しさん
垢版 |
2020/03/24(火) 21:39:53.86ID:h4RLamPb
くっ・・・体が消えていく・・・>>743
745デフォルトの名無しさん
垢版 |
2020/03/24(火) 21:40:08.81ID:h4RLamPb
たしかこんなネタあったよね
2020/03/24(火) 21:41:53.84ID:iThMGLi0
アンロード君
NotClassFound君
同期化君

キチガイほら吹き3人衆
息を吐くように嘘を教えるとかおっそろしいでホンマ
747デフォルトの名無しさん
垢版 |
2020/03/24(火) 21:46:34.31ID:h4RLamPb
>>734
一応だけどクラス変数はインスタンスを作らなくても使用できる変数で
clipはインスタンス変数というのが適当だよ

君の書き込みからはたまに知性が垣間見れるから多分書き間違っただけだろうけど
初心者スレなんで真に受ける人がいるかもしれないから一応

データ競合があるのは事実でその辺りも含めてこのソースをどう修正するかは
腕の見せどころではあるね
2020/03/24(火) 21:49:47.16ID:iThMGLi0
>一応だけどクラス変数はインスタンスを作らなくても使用できる変数で
はい、アホ

おまえさぁ、アホのくせになんでレスつけるの?アンロード君か?
何が「このソースをどう修正するかは腕の見せどころではあるね!(キリッ!!!」 だよアホ
1分で終わるわアホ
ほんまキチガイ糞馬鹿ガイジの巣窟やな
749デフォルトの名無しさん
垢版 |
2020/03/24(火) 21:52:28.37ID:h4RLamPb
>>748
どこがアホ?
クラス変数とインスタンス変数は違うよね
同じだと思ってるん? どうなのん?
2020/03/24(火) 21:55:44.80ID:cFvopTvT
違う、こいつ ID:iThMGLi0 の言ってることが間違い

毎回インスタンス作っても出来るけど、何回も再生するのに何回もインスタンス作って open して play するのは適当じゃない
一回 open して、特に小さい音声ファイルの場合は、ロード1回したら使い回さないと、再生はじめが遅くなるしパフォーマンスは悪い
そもそもこれは1度 new して初期化したら 使い回すっていうそういう設計のクラスでしょ

クラス変数とインスタンス変数の違いも知らない人間の言う言葉を信じてはいけない
2020/03/24(火) 21:57:09.96ID:iThMGLi0
初心者未満はもう文章書くのやめよう
な?
もう書いてることの全てが間違ってるからさ
入門書1億万回読めやカス
752デフォルトの名無しさん
垢版 |
2020/03/24(火) 21:57:55.03ID:h4RLamPb
>>751
クラス変数とインスタンス変数は違うよね
同じだと思ってるん? どうなのん?
2020/03/24(火) 21:58:26.04ID:cFvopTvT
ほらね、技術的なことを書いてボロが出たら関係ないこと言い始めたでしょ
上のレス読んでてもこいつずっとこう
2020/03/24(火) 21:58:38.75ID:iThMGLi0
バカだから180℃間違った解釈でギャーギャー「俺が正しいんだ!(キリィイイイ!!」って喚いてんだよね
ほんと死んでくれゴミ
二度と回答するなアホ
755デフォルトの名無しさん
垢版 |
2020/03/24(火) 21:59:53.70ID:h4RLamPb
>>754
入門書1億万回読んだならわかると思うんだけどクラス変数とインスタンス変数は違うよね?
2020/03/24(火) 22:00:17.86ID:iThMGLi0
見事にアンロード君と同し病気発症しててワロタwwwww
ほんまモンスターガイジだなコイツw
バカ通りこしてキモすぎるからマジで死ねってw
アホ
757デフォルトの名無しさん
垢版 |
2020/03/24(火) 22:01:09.24ID:h4RLamPb
>>756
クラス変数とインスタンス変数は違うよね
同じだと思ってるん? どうなのん?
2020/03/24(火) 22:02:26.56ID:iThMGLi0
こんな感じでソースコードをまともに読めない初心者未満のガイジに
正しい答えを教えても全く意味がないことがよくわかる良い例だな
何も成長しないんだよ
THE モンスター低能ガイジ
759デフォルトの名無しさん
垢版 |
2020/03/24(火) 22:03:55.36ID:h4RLamPb
>>758
クラス変数とインスタンス変数は違うよね
同じだと思ってるん? どうなのん?
2020/03/24(火) 22:05:00.34ID:cFvopTvT
さすがにインスタンス変数の意味でクラス変数って言っちゃうとか擁護のしようがない
とりあえずそこのところは俺も気になるから徹底的に追求してあげてくれ
こういう風に関係ない罵詈雑言書き連ねてても、今後このスレにいる以上はずっと追求し続けてあげてくれ
2020/03/24(火) 22:05:37.46ID:iThMGLi0
スコープが違うだけで実態がなくても使えることにはならない
エラー出ても使えるって言い張るガイジなら勝手にどうぞ
くだらねーことを何回も書いてホントきしょくわるいね
アホ
2020/03/24(火) 22:06:36.62ID:cFvopTvT
君はあだ名つけるの好きみたいだからそれに倣うけど、君の名前はクラス変数君ってことでいい?
763デフォルトの名無しさん
垢版 |
2020/03/24(火) 22:07:00.61ID:h4RLamPb
>>761
クラス変数とインスタンス変数は違うよね?
2020/03/24(火) 22:07:43.07ID:iThMGLi0
>そもそもこれは1度 new して初期化したら 使い回すっていうそういう設計のクラスでしょ

これもソースコード読めな過ぎの馬鹿文章
ほんとおまえさぁ、ただのほら吹き糞馬鹿なんだからもう意地張ったり背伸びするのやめたら?w
全てが間違っててアホなんだよお前のレスはw
アホ
765デフォルトの名無しさん
垢版 |
2020/03/24(火) 22:07:54.24ID:h4RLamPb
>>762
もうこのスレのアイドルだから姫でもいんじゃないかな
2020/03/24(火) 22:09:26.60ID:iThMGLi0
別に毎回newしなくてもエラーでないしw
ほんとソースコード読めないアホ
消えろゴミ
2020/03/24(火) 22:10:04.73ID:cFvopTvT
間違えてる間違えてるってそればっかだけど、間違えてるなら何が間違えてるか指摘しなさいよ
クラス変数とインスタンス変数の違いは丁寧に教えてもらってでしょ君
お礼言わない人嫌いだったよね?
ちゃんとお礼言いなよ
2020/03/24(火) 22:14:06.44ID:iThMGLi0
とりあえずホラ吹きガイジのお前は二度と回答側にまわらないように
一生ROMってろ
2020/03/24(火) 22:18:28.02ID:cFvopTvT
>>766
あなたの指摘は、
> clip を "クラス変数www" で共有してるから
って言うものでしょ?

clip を共有しないということは、毎回 Clip を new することに他ならないじゃないですか
共有せずに、毎回 new もせずに、clip を使って再生する方法を後学のために教えてもらえますか?
2020/03/24(火) 22:20:32.16ID:iThMGLi0
グ   グ   れ   カ   ス   糞   馬  鹿
2020/03/24(火) 22:22:41.32ID:cFvopTvT
さすがに、クラス変数とインスタンス変数の違いも知らない初心者とバレた以上、その逃げ方は滑稽でしかない
2020/03/24(火) 22:26:38.82ID:iThMGLi0
聖者ワイ「これこれはこうだからこうなる。わかったか池沼よ?」
池沼(ID:cFvopTvT)「うるせー!俺が正しいんだ!ボケ!」

池沼(ID:cFvopTvT)「後学のために教えてもらえますか?(ブヒッw」
聖者ワイ「消えろゴミ」


逃げるも糞もおまえは馬鹿すぎ&ほら吹き&無様&低能
ソースコードまともに読めるようになってから喚け低能糞ゴミキッズ
きしょくわりぃ
2020/03/24(火) 22:29:36.89ID:cFvopTvT
>> 753 以下ループで
そういう中身のない罵詈雑言系はもう良いっす
2020/03/24(火) 22:30:30.16ID:iThMGLi0
己の醜態を関係ないネタで勝手に知らない扱いして
喚き散らしてなかったことにしようとしてる無様な姿は酷すぎるし
レスせずに消えればいいものを
アンロード君といいこの手の醜態晒すキチガイはどういう脳みそしてんだろうな
マジで
さすがにきしょすぎて引くわ
2020/03/24(火) 22:32:20.44ID:iThMGLi0
今回はお前があまりに頭が悪すぎる知ったかほら吹きレスをつけるから
間接的に質問者に答えを教えることになったが
おまえみたいゴミに教えることなんて一つもないよ
脳みそ腐ってんのか?
2020/03/24(火) 23:32:52.26ID:j8MbTW6x
ID:iThMGLi0には誰も味方がいない…
リアルでも孤立してるんだろうな
こんな奴に友人が出来るわけがない

初心者入門者はこのスレ以外で質問することを強くお勧めしたい
2020/03/24(火) 23:48:39.37ID:iThMGLi0
味方も糞も嘘つき同士で仲良くしてるだけやんw
ID変えて一生懸命ワイを叩いてるけどさw
ワイがいなかったら質問者はこいつ等の嘘に悩まされて解決策は一生わからないままだったんやで
おっそろしい話だ
778デフォルトの名無しさん
垢版 |
2020/03/25(水) 00:08:12.06ID:Ye7K7uz1
>>696
Clipはスレッドセーフなんだけど
AudioInputStreamがスレッドセーフじゃないっぽい

再生ごとにAudioInputStreamのインスタンスを作成すればよい
STOPの待ち合わせはラッチを使うと簡単かつ安全
https://ideone.com/04E4rq

Clipを使い回すならこんな感じでいんじゃないかな
https://ideone.com/ieK4ND
779デフォルトの名無しさん
垢版 |
2020/03/25(水) 00:14:28.89ID:Ye7K7uz1
>>777
姫、僕はもう寝るよ
2020/03/25(水) 08:15:14.54ID:S+BBkcDL
Clip は、再生前に音声データを全部ロードしてから使うクラスで、
インスタンスを使い回さず、再生前に再生時間の取得とかが必要ないなら、
SourceDataLine を使ってリアルタイムにストリーム化した再生をしたほうが良い

「AudioInputStream がスレッドセーフじゃないっぽい」というのは本来はあまり関係なくて、それを使ってる Clip が実装内で同期化してるなら問題ない
質問者のコードは何故か毎回 open してるからあれだけど、Clipを使う場合、open時に受け渡すだけの AudioInputStream は、Clip の中以外で複数スレッドでは使わないでしょうし

Clip の API見たらスレッドセーフと明示されてるわけじゃなくて、本当は Clip の実装クラスが同期化してるかによるけど

>>778 の下の方のソースコードで問題ないと思う

細かいことをいえば、
Clip[] clips = {
create("C:\\Users\\a\\Desktop\\work\\decision1.wav"),
create("C:\\Users\\a\\Desktop\\work\\decision2.wav"),
create("C:\\Users\\a\\Desktop\\work\\decision3.wav")
};
この変数自体が同期化されてないとか

ロード、アンロード、ストリーム化した再生、同期化、複数同時再生とやってったコードあるけど、ここには書けない
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況