3

Android 브라우저에서 재생할 수있는 미디어 파일이 열리면 내장 (stagefright?) 미디어 플레이어가 열립니다. 이 미디어의 제목은 URL을 기준으로 플레이어 대화 상자에 표시됩니다. Android 브라우저 미디어 플레이어 (stagefright?)에 미디어 이름이 표시됩니다.

Android Media Player, with title highlighted

이 경우 URL은 http://10.0.37.195/waug_mp3_128k했다. 미디어 플레이어는 단순히 경로의 마지막 부분을 제목으로 사용합니다.

표시된 제목을 변경할 수 있습니까?

은 내가 Content-Disposition 헤더를 시도하지만 아무런 영향을 미치지 않습니다 :

Content-Disposition: inline; filename=Some Better Title 

답변

1

짧은 대답은 아니오입니다. 난 당신이 서버에서 다른 뭔가를 표시하는 제목을 변경할 수 있다고 생각하지 않습니다.

나는 플레이어가 기본 AOSP 뮤직 앱의 AudioPreview 기본 활동이라고 생각합니다. 소스 코드를 살펴보면 HTTP 스키마 (로컬 콘텐츠/파일의 미디어 데이터베이스 만 쿼리)를 사용하여 스트림의 URI의 마지막 경로 세그먼트를 간단히 사용합니다. 여기

는 관련 코드 조각입니다 :

@Override 
public void onCreate(Bundle icicle) { 
    super.onCreate(icicle); 

    // ... 

    if (scheme.equals(ContentResolver.SCHEME_CONTENT)) { 

     // ... 

    } else if (scheme.equals("file")) { 

     // ... 

    } else { 
     // We can't get metadata from the file/stream itself yet, because 
     // that API is hidden, so instead we display the URI being played 
     if (mPlayer.isPrepared()) { 
      setNames(); 
     } 
    } 
} 

// ... 

public void setNames() { 
    if (TextUtils.isEmpty(mTextLine1.getText())) { 
     mTextLine1.setText(mUri.getLastPathSegment()); 
    } 
    if (TextUtils.isEmpty(mTextLine2.getText())) { 
     mTextLine2.setVisibility(View.GONE); 
    } else { 
     mTextLine2.setVisibility(View.VISIBLE); 
    } 
} 
+0

정답을 보내 주셔서 감사합니다! – Brad

+0

도와 드리겠습니다! 이것에 대해 생각해 볼 수있는 한 가지 방법은 서버가 http : // 10.0.37.195/waug_mp3_128k/title_to_display와 같은 형식으로 'http : // 10.0.37.195/waug_mp3_128k'의 콘텐츠를 스트리밍하도록 구성하는 것입니다. 또는 단지 'http : // 10.0.37.195/title_to_display'도 마찬가지입니다 :) – Joe

+0

그래, 그게 계획이에요. 다행히도, 서버를 만들고 있기 때문에, 그 부분은 쉽습니다. – Brad

0

은 공백없이 파일 이름을 사용해보십시오. 나는 안드로이드가 파일 이름에 공백이있는 것을 보았다. 도움이 될 수도 있습니다.

Content-Disposition: inline; filename=Some_Better_Title 
+0

귀하의 제안 죄송합니다, 아무 효과가 없습니다. – Brad