有没有一种方法可以在Java的Linux上以协作方式播放WAV文件?
到目前为止,我只找到了两种方法:有没有一种方法可以在Java的Linux上以协作方式播放WAV文件?,java,audio,wav,playback,Java,Audio,Wav,Playback,到目前为止,我只找到了两种方法: 抛出异常 不玩 公元2年。最近的代码(2010) 但是什么也不做,一点声音也没有 公元1年。例如: 我得到的只是一个例外“音频设备不可用”。正如本文(2008年)所解释的,Java必须以独占方式访问音频设备 但是我负担不起这样的条件。我在长时间运行的过程中(几个小时)使用声音来通知自己,我不能仅仅为了让Java变得舒适而去除所有声音(包括那些通过Flash广告强制播放的声音) 所以现在我使用total extreme——我只需启动外部程序:。这是
- 在Linux上
- 以协作方式(在Java播放期间,可能还会播放其他音频)
- 它发出声音
- 在Java中(不启动外部程序)
这个网站提供了一个简单的swing应用程序来捕获和播放wav文件 您可以从以下站点修改和使用代码
当需要播放动作时,你不能简单地创建一个新线程吗。因此,无论后台进程如何,播放都将继续进行此网站提供了一个简单的swing应用程序来捕获和播放wav文件 您可以从以下站点修改和使用代码
当需要播放动作时,你不能简单地创建一个新线程吗。因此,无论后台进程如何,播放都将继续。Java在1.4+版本上内置了此支持(在javax.sound、javax.sound.sampled包中提供)。它与系统上的其他应用程序协同工作,因为它使用平台混音器(ALSA或PULSE)Java在1.4+版本上内置了这种支持(在javax.sound、javax.sound.sampled包中提供)。它与系统上的其他应用程序协同工作,因为它使用平台混音器(ALSA或PULSE)所以,由于AT的回答,我从JMF问题转移到了JMF问题,这让我想到了VLC-J。这就是答案——为了在Java程序中使用多媒体,请不要使用Java(遗憾的是,顺便说一句,2012年的Java没有可靠的多媒体层,gee) 标记为已解决,因为VLC-J允许我毫无问题地播放音频 主要项目地点: 最小播放程序:
所以,多亏AT的回答,我从JMF转向了JMF问题,这让我想到了VLC-J。这就是答案——为了在Java程序中使用多媒体,不要使用Java(遗憾的是,顺便说一句,2012年的Java没有可靠的多媒体层,哎呀) 标记为已解决,因为VLC-J允许我毫无问题地播放音频 主要项目地点: 最小播放程序:
你越是重复“答案”就越不正确。请下次阅读问题,提前谢谢。@macias:在这种情况下,你是否检查了/dev/(audio | mixer)上的权限允许你打开设备吗?你能写脉冲插座吗?你使用的是什么分布?如果我不能,我就听不到任何声音,是吗?再次检查这个问题,我提供了有关Java和系统的信息。但是,在一秒钟内,我将关闭这个问题,因为昨天AT的回答给了我正确的想法。@macias:的确是vlcj是一个解决方案,但它增加了一个间接层,java将依赖于libvlc,而libvlc将依赖于OSS | ALSA | Pulse。请检查此线程是否有不同的(不一定更好的)解决方案:当然,我很乐意专注于纯Java解决方案,但遗憾的是,我没有找到任何解决方案,也没有时间进行测试和测试,这个和那个,还有其他。我花了太多时间使用纯Java解决方案,vlc-j拿了我什么,下载jar并粘贴代码。工作完成了。你越是重复“答案”它并没有变得更正确。请下次阅读该问题,提前谢谢。@macias:在这种情况下,您是否检查了/dev/(audio | mixer)上的权限允许你打开设备吗?你能写脉冲插座吗?你使用的是什么分布?如果我不能,我就听不到任何声音,是吗?再次检查这个问题,我提供了有关Java和系统的信息。但是,在一秒钟内,我将关闭这个问题,因为昨天AT的回答给了我正确的想法。@macias:的确是vlcj是一个解决方案,但它增加了一个间接层,java将依赖于libvlc,而libvlc将依赖于OSS | ALSA | Pulse。请检查此线程是否有不同的(不一定更好的)解决方案:当然,我很乐意关注纯Java的解决方案,但遗憾的是,我没有找到任何解决方案,也没有时间进行测试和测试,这个和那个,还有其他。我花了太多时间使用纯Java的方法,vlc-j拿了我什么,下载jar,粘贴代码。工作完成了。请注意——我给了第二个链接一个已经是r了