0

AudioInputStream (ieavailable() return >=0) などのバッファ付きの InputStream を考えてみましょう。入力ストリームは変化するファイル (インターネットからダウンロードされ続け、ダウンロードされていない部分がゼロでパックされているファイル) を読み込んでいます。

  • ダウンロードされていない部分まで読み込むと、wait()が呼び出されます
  • パーツがダウンロードされると、notify() が呼び出されます

ただし、ウェイクアップしたときに、バッファー (役に立たないゼロ) を確実にドロップし、ファイルを再度読み取るにはどうすればよいですか?

少し早いですがお礼を

4

1 に答える 1

0

AudioInputStreamで作成していると思いますFileInputStream。あなたがすべきことはこれです:

PipedInputStream pipeIn = new PipedInputStream();
PipedOutputStream pipeOut = new PipedOutputStream(pipeIn);
AudioInpuStream ais = new AudioInputStream(pipeIn, ..., ...);

より多くのファイルをダウンロードしたら、あとは に書き込むだけpipeOutです。

于 2012-04-07T01:57:20.860 に答える