2011-09-13 28 views
0

我有一个带音频采样的字节数组。我想打它,所以我尽量把它写进去的SourceDataLine:写入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中,有时我不明白什么是cousing NullPointerException异常 - 这是那个时代:(一

回答

3

您还没有实例化sample你需要调用new SourceDataLine()

+0

哦,我现在看到的......但我不能调用构造函数是。 abstrac t类:(。 – ciembor

+0

我用Clip代替SourceDataLine。我认为这是我的最佳选择。 – ciembor