2015-01-07 2 views
3

인터넷에서 음악 파일을 가져 오는 음악 응용 프로그램을 개발 중입니다.이력서로 돌아 가면 마지막 활동 실행 취소

나는이 개 활동

  1. MainActivity가
  2. PlayerActivity

MainActivity의 요소에 대한 몇 번의 클릭이 두 번째 PlayerActivity을로드하고 노래

처음으로 재생을 시작하는 경우 그것은 아주 잘 작동합니다. 일부 노래를 다시 클릭하고 다른 요소를 클릭하면 현재 노래를 멈추지 않고 노래가 시작됩니다.

여기 내 코드는 내가 시도한 것입니다.

MainActivity

  Intent intent = new Intent(v.getContext(), PlayerActivity.class); 
      EditText albumID = (EditText) findViewById(R.id.albumID); 
      String message = albumID.getText().toString(); 
      intent.putExtra(ALBUMID, message); 
      startActivity(intent); 

PlayerActivity

try { 

     if(player.isPlaying()) { 
      player.release(); 
     } 

     player.reset(); 
     player.setDataSource(urls.get(position)); 
     player.prepare(); 
     player.start(); 
     seekbar.setMax(player.getDuration()); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

참고 : 필요한 경우 내가 전체 코드를 게시 할 수 있습니다.

+0

그래서, 당신은 재생중인 곡의 재생을 중지하려면 .. 좀 더 볼 수 있을까? 그리고 PlayerActivity의 코드는 어디에 두었습니까? – migue02

+0

코드는'onListItemClick'리스트 아이템 클릭 리스너에 있습니다. 또한 MediaPlayer 인스턴스는 메서드/함수가 아닌 클래스에서 만들어집니다. – Sharjeel

답변

0

나는 플레이어의 다른 인스턴스를 잡고 그 플레이어를 멈추게하면 원하는 플레이어가 아닌 다른 플레이어를 "멈추게"했기 때문입니다. 플레이어가 활동에 첨부되지 않고 활동이 파괴되면 파괴되지 않습니다 ...

플레이어의 인스턴스는 하나만 있어야합니다. 어쩌면 싱글 톤이나 정적 인 것을 사용할 수 있습니다. 활동이 중지되면 플레이어를 중지 할 수 있습니까? 좋아, 파멸 중이야? 당신이 더 많은 코드를 업로드 시도 할 수 명확하지 않으면

그래서 우리는

관련 문제