永发信息网

java流处理问题

答案:4  悬赏:30  手机版
解决时间 2021-05-09 06:00
  • 提问者网友:情歌越听越心酸
  • 2021-05-08 22:37

帮我用通俗的话详细解释下这段代码,不要直接copy网上API手册给我,我要听那些用过这些类的人的理解,网上资料太抽象代码如下

DataLine.Info info = new DataLine.Info(SourceDataLine.class,audioFormat);
m_line = (SourceDataLine) AudioSystem.getLine(info);
m_line.open(audioFormat, m_line.getBufferSize());
m_line.start();

这是从一个 java播放器里抽出的代码,这段代码比较陌生, DataLine这个类是和Info一起使用的吗? 为什么要这样写 ? 构造方法里面的第一个参数是什么?

最佳答案
  • 五星知识达人网友:不如潦草
  • 2021-05-08 23:04

呵呵,我这样理解


从计算机播放声音和我们生活中播放声音是一样的道理


生活中我们需要怎么播放声音呢?


我们需要做三步


1、得到播放对象


2、根据播放对象得到一个播放器


3、用播放器播放声音


比如:


80年代是四大天王的时代,我们怎么听歌呢?


1、买一盘张学友的磁带


2、由于是磁带,所以买一个录音机


3、把磁带放在录音机里播放


90年代是CD的时代,歌手众多


1、买一盘CD


2、由于是CD买一个CD机


3、把CD放在CD机里边播放


2000年代是MP3的时代,部分算是周杰伦的时代,我们怎么听歌呢?


1、下载首七里香.MP3文件


2、由于是MP3文件买一个MP3


3、把MP3拷贝到MP3播放器里播放



java中也是这样的


1、播放文件 对应流或者字节缓冲区


2、根据播放文件的种类选择播放器 ( 播放器 对应 Line )


3、调用Line的open方法打开文件(相当于把磁带、CD或者MP3文件装入/拷贝进相应播放器),如果用Clip则调用start方法播放。



DataLine.Info info = new DataLine.Info(SourceDataLine.class,audioFormat);
m_line = (SourceDataLine) AudioSystem.getLine(info);
m_line.open(audioFormat, m_line.getBufferSize());
m_line.start();



OK?

全部回答
  • 1楼网友:不甚了了
  • 2021-05-09 02:45

IO流一直用的不大好 建议网上找找资料

  • 2楼网友:第幾種人
  • 2021-05-09 02:00
是一样的!
  • 3楼网友:山河有幸埋战骨
  • 2021-05-09 00:38
问编程高手…我有接触,但不知道,
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯