2012-12-07 7 views
0

현재 Manager.createPlayer (InputStream is, String mimeType)를 사용하여 오디오 플레이어를 만드는 프로젝트에서 작업하고 있습니다.Nokia C3에서 오디오를 재생하려고하면 다음과 같은 결과가 발생합니다. 미디어 데이터를 가져 오지 못했습니다.

오디오 플레이어는 에뮬레이터에서 완벽하게 작동합니다. Nokia C3에서는 앱이 시작된 후에 오디오/mpeg 트랙을 재생할 수 있지만 같은/다른 오디오를 다시 재생하려고 시도하면 실패합니다. 메시지를 프리 페치 할 때 "미디어 데이터를 가져 오지 못했습니다"라는 메시지가 포착됩니다.

처음으로 플레이어를 열면 정상적인 수명주기 (실현, 프리 페치, 시작)가 시작됩니다. 트랙이 끝나면 중지, 할당 해제, 종료됩니다. 프로세스가 다른 오디오 트랙에 대해 반복되기 전에 플레이어는 null로 설정됩니다.

아이디어가 있으십니까?

다음은 플레이어를 만드는 데 사용 된 코드 샘플입니다.

public static Player play(PlayerListener listener, InputStream is, String[] mimeTypes) { 
    Player player = null; 
    for (int i = 0; i < mimeTypes.length; i++) {  
     try { 
      player = Manager.createPlayer(is, mimeTypes[i]); 
      player.realize(); 
      player.prefetch(); 
      player.addPlayerListener(listener); 
      player.start(); 
      Log.write("started - " + mimeTypes[i]); 
      break; 
     } catch (Exception e) { 
      Log.write("player fail (" + mimeTypes[i] + "): " + e.getMessage()); 
      player = null; 
     } catch (Throwable e) { 
      Log.write("player fail (" + mimeTypes[i] + "): " + e.getMessage()); 
      player = null; 
     } 
    } 
    return player; 
} 

답변

0

대답은 재생하려고하는 MP3 파일의 크기가 너무 큰 것으로 보입니다. 크기를 낮추면 문제가 해결됩니다.

2MB에서 150kb까지.

누군가 이런 일이 발생하는 이유에 대해 밝히면 큰 도움이 될 것입니다.

+0

큰 파일을 재생하려면 Manager.createPlayer (String url) –