Hi all I'm an android starter I tused AudioTrack to play music But it just tell me filenotfoundexeception I try to play mp3 wav ogg (all in raw dir) I've no idea where is wrong? here are my code ~ Could any one tell me why? TKS in advance :)
public class mainActivity extends Activity { private static final String Tag = "audioRecorder"; private static final boolean log = true; AudioTrack track = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //if(AudioTrack.MODE_STATIC != mode && AudioTrack.MODE_STREAM ! = mode) //throw new InvalidParameterException(); //String audioFilePath = "R.raw.music"; long fileSize = 0; long bytesWritten = 0; int bytesRead = 0; int bufferSize = 0; byte[] buffer; //AudioTrack track = null; int sampleRateHz = 8000;//22050 int audioFormat = AudioFormat.CHANNEL_CONFIGURATION_MONO; //int audioFormat = AudioFormat.CHANNEL_CONFIGURATION_STEREO; //int audioEncodingFormat= MediaRecorder.AudioEncoder.AMR_NB; int audioEncodingFormat= AudioFormat.ENCODING_PCM_16BIT; //int audioEncodingFormat= AudioFormat.ENCODING_PCM_8BIT; //int mode = AudioTrack.MODE_STATIC; int mode = AudioTrack.MODE_STREAM; File audioFile = new File("R.raw.test.ogg"); fileSize = audioFile.length(); if(log)Log.d(Tag,"Buffer size("+ mode +")"); if(AudioTrack.MODE_STREAM == mode) bufferSize = AudioTrack.getMinBufferSize(sampleRateHz,audioFormat,audioEncodingFormat); else //AudioTrack.MODE_STATIC bufferSize = (int)fileSize; buffer = new byte[(int)bufferSize]; if(log)Log.d(Tag,"track setting"); track = new AudioTrack(AudioManager.STREAM_MUSIC,sampleRateHz, audioFormat,audioEncodingFormat, bufferSize,mode); // in stream mode, // 1. start track playback // 2. write data to track if(AudioTrack.MODE_STREAM == mode) { if(log)Log.d(Tag,"MODE_STREAM:track.play()"); track.play(); } FileInputStream audioStream = null; try{ audioStream = new FileInputStream(audioFile);//"R.raw.music" }catch(FileNotFoundException e) { e.printStackTrace(); Log.e(Tag,"Error:" + e.toString()); } if(log)Log.d(Tag,"audioStream read"); while(bytesWritten < fileSize) { try { bytesRead = audioStream.read(buffer,0,bufferSize); }catch(IOException e){ Log.e(Tag,"Error:" + e.toString()); } if(log)Log.d(Tag,"track write"); bytesWritten += track.write(buffer,0,bytesRead); } // in static mode, // 1. write data to track // 2. start track playback if(AudioTrack.MODE_STATIC == mode) { if(log)Log.d(Tag,"MODE_STATIC:track.play()"); track.play(); } } } -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en