2014-12-01 4 views
0

저는 Java를 처음 사용하고 제 친구가이 코드를 작성하는 데 도움을 받았습니다. 잘못된 구문을 사용하고 있기 때문에 오류가 발생합니다. 내가 문제가있는 코드에 주석을 추가했습니다. oncreate 안에이 코드를 넣어야하는지 잘 모르겠다. 누구든지 좋은 자바 학습 리소스에 대한 지시 사항을 가르쳐 주시겠습니까.미디어 플레이어를 사용하는 중에 이상한 오류가 발생합니다.

@TargetApi(Build.VERSION_CODES.HONEYCOMB) 
public class MainActivity extends ActionBarActivity { 
public MediaPlayer mediaPlayer; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    /*super.onCreate(savedInstanceState);*/ 
    setContentView(R.layout.activity_main); 
    getActionBar().hide(); 
    mediaPlayer = new MediaPlayer(); //getting an error on this line for invalid syntax. 

    //not sure what to put here 
     playB() throws IOException { 
      playSound(R.raw.b) 
     } 

    //not sure what to put here 
     playSound(int resId) throws IOException { 
      URI uri = URI.parse("android://com.max.bead/" + resId); 

      if(mediaPlayer.isPlaying()) 
      { 
       mediaPlayer.stop(); 
      } 
      else 
      { 
       mediaPlayer.setDataSource(getApplicationContext(), uri); 
       mediaPlayer.prepare(); 
       mediaPlayer.play(); 
      } 
     } 
} 

답변

1

보십시오.

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     /*super.onCreate(savedInstanceState);*/ 
     setContentView(R.layout.activity_main); 
     getActionBar().hide(); 
     mediaPlayer = new MediaPlayer(); //getting an error on this line for invalid syntax. 
    } 
     //not sure what to put here 
      private void playB() throws IOException { 
       playSound(R.raw.b); 
      } 

     //not sure what to put here 
      private void playSound(int resId) throws IOException { 
       URI uri = URI.parse("android://com.max.bead/" + resId); 

       if(mediaPlayer.isPlaying()) 
       { 
        mediaPlayer.stop(); 
       } 
       else 
       { 
        mediaPlayer.setDataSource(getApplicationContext(), uri); 
        mediaPlayer.prepare(); 
        mediaPlayer.play(); 
       } 
      } 
+0

미디어 플레이어에 OnPreparedListener 설정합니다. – user2746059

0

시도 내가 수입을 포함하지 않았다

mediaPlayer.setOnPreparedListener(new OnPreparedListener() { @Override public void onPrepared(MediaPlayer mp) { mp.start(); } });

관련 문제