2015-11-30 2 views
2
import java.io.File; 
import java.util.Scanner; 

class DataManage{ 

    public static void main(String[] args){ 

     MusicControl musicControler; 
     File clip; 
     Scanner scan = new Scanner(System.in); 

     int data; 

     while(true){ 
      data = scan.nextInt(); 

      clip = new File(new StringBuffer().append("LaunchPad/music/").append(data).append(".wav").toString()); 
      musicControler = new MusicControl(clip);   
      musicControler.start(); 
     } 
    } 
} 

import java.io.File; 

import javax.sound.sampled.*; 

class MusicControl extends Thread{ 

    private Clip clip; 
    private File sound; 
    private FloatControl volume; 

    public MusicControl(File sound){ 
      this.sound = sound; 
      musicSetup(); 
    } 

    public void run(){ 
     try{  
      clip.start(); 
      Thread.sleep(clip.getMicrosecondLength()/1000); 
     }catch(Exception e){ 
      System.out.println(e); 
     } 
    } 

    public void musicSetup(){ 
     try{ 
      clip = AudioSystem.getClip(); 
      clip.open(AudioSystem.getAudioInputStream(sound)); 
     }catch(Exception e){ 
      System.out.println(e); 
     } 
    } 
} 

Я пытаюсь воспроизвести звук в моей малине pi2. Эта программа отлично работает в Window7. Однако, это работает странно в малине pi2. Когда я запустить программу, она работает хорошо, пока он не считает 8. Если он играет более чем в 8 раз, он печатаетRaspberry pi play wav file

javax.sound.sampled.LineUnavailaleException: line with format PCM_SIGNED 44100.0 Hz, 16 bit, mono, 2 bytes/frame, little-endian not supported. 

Как я могу это исправить? Пожалуйста, дайте мне руку.

ответ

1

Ошибка в этом методе

public MusicControl(File Sound){ 
     sound = Sound; 
     musicSetup(); 
} 

Вы определяете переменную как File Sound, которая 2 типа и без имени. Вы должны заменить Sound на имя переменной.

+0

«Звук» - это просто имя объекта из класса DataManage! – Koo

+0

Извините, мой плохой .. Я просто делал тестовую программу .. так что я действительно не заботился об этой проблеме. ^^ – Koo

+0

, но это не главная проблема, она по-прежнему имеет такую ​​же проблему .. – Koo