java - 写入 SourceDataLine 时出现空指针异常

标签 java audio arrays nullpointerexception

我有一个包含音频样本的字节数组。我想玩一下,所以我尝试将其写入SourceDataLine:

SourceDataLine sample;
private byte[] samplebytes;

...

sample.start();
sample.write(samplebytes, 0, samplebytes.length);
sample.drain();
sample.stop();
sample.close();
sample = null;

我明白了:

java.lang.NullPointerException
at virtualcut.Sample.<init>(Sample.java:45)
at virtualcut.model.SelectionModel.setPosition(SelectionModel.scala:79)
at draggable.DraggableComponent$2.mouseReleased(DraggableComponent.java:128)
at java.awt.Component.processMouseEvent(Component.java:6504)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6269)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4860)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4686)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2713)
at java.awt.Component.dispatchEvent(Component.java:4686)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)
at java.awt.EventQueue.access$000(EventQueue.java:101)
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:680)
at java.awt.EventQueue$4.run(EventQueue.java:678)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

我是 Java 新手,有时我不明白 NullPointerException 是什么 - 这就是其中之一:(。

最佳答案

您尚未实例化示例。您需要调用new SourceDataLine()

关于java - 写入 SourceDataLine 时出现空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7396364/

相关文章:

ios - 在 iOS 上录制、修改和播放音频

c# - 将声音输出到设备上的特定 channel

c# - 字节数组子串

java - 查找排序数组中整数出现的边界的问题 (Java)

java - 在java中拖放网页

java - 获取通过 Java Servlet 中的 jquery ajax 发送的参数

java - 使用 Spring Security 进行授权和身份验证

java - 为什么这个 if 语句会在这个 While 循环中触发?

javascript - 如何使用 Web Audio API (WAAPI) 获取音频样本数据

php - PHP中使用foreach循环的多维数组