2012-10-05 1 views
2

MediaElement.js 오디오 플레이어가 특정 Android 휴대 전화에서 작동하지 않는다는보고가 나타납니다. 편집 : 일부 mp3 파일이 작동하지만 다른 파일은 작동하지 않습니다. mp3 파일은 ID3 태그가없는 Mono 128kbs CBR입니다.일부 장치에서 MediaElement.js 오디오가 재생되지 않음

모든 기본 옵션이있는 오디오 소스 mp3가 하나만 있습니다.

HTML은 다음과 같습니다

<audio src ="/path/to/a/file.mp3" type='audio/mp3'> 

전화 기본 브라우저에서는, HTC 인크 레 더블 2 실행 2.3.4입니다. 동일한 페이지가 테스트를 위해 가지고있는 2.3.4 장치와 2.3.3 용 안드로이드 에뮬레이터 (플래시가없는)에서 작동합니다.

사용자에 따르면 플레이어가 제대로로드되고 올바르게 보이지만 오디오 파일의 실제 길이에 관계없이 길이는 1:40:00으로 표시됩니다. 두 번째 재생을 자주 클릭하면 재생이 시작됩니다.

여기에서 어디로 가야할까요?

답변

2

오디오/비디오 코덱 라이브러리 구현은 Android의 하드웨어 공급 업체 만의 고유 한 기능입니다. 이러한 목적으로 다른 하드웨어를 사용하기 때문에 모든 장치가 오디오/비디오 디코딩을 위해 동일한 라이브러리를 사용하지는 않습니다.

특히 Android의 이전 버전에서는 미디어 재생이 신뢰할 수 없습니다.

저는 Viacom에서 6 년 동안 모바일 비디오 및 오디오 전송을 처리 했었습니다.이 문제에 대한 공평한 해결책이 없기 때문에 필자가 만난 가장 까다로운 문제 중 하나였습니다. 플래시 (끔찍한 해결책 임).

우리는 Google 개발자 옹호론자들과이 문제를 논의하는 데 많은 시간을 할애했습니다. 위쪽은 OS의 최신 버전에 대한 수락 스위트를 개정했기 때문입니다. 3.X 및 4.X는 미디어와 관련하여 회사 간 호환성이 훨씬 뛰어납니다. 재생.

내가 좋아하는 버그는 오디오 및 비디오 트랙이 잘못 정렬 된 MP4 비디오 파일 (사양과 호환되는 다른 시간에 시작 함)이있는 경우 2.X 시리즈 중 하나를 실행하는 Motorola 전화가 재생됩니다 전혀 오디오가 없습니다.

내 대답은 이러한 장치에서 안정적인 재생을 보장 할 수 없으며 오디오 속성을 검사하여 모든 파일이 동일한 속성의 동일한 코덱과 인코더에서 생성되는지 확인해야한다는 것입니다.

또한 스테레오인지, 모노인지, 어떤 것들이 IDv3 태그인지, 어떤 것들은 그렇지 않은지 등을 확인합니다. 코덱은 정말 까다 롭습니다.

이러한 회사는 구형 장치에서 OS를 업그레이드 할 동기가 없으며 호환되지 않는 하드웨어가있는 바다가 모바일 커뮤니티에 머물러있어 기능을 테스트 할 수도 없기 때문에 상당히 유감입니다. 오히려 장치 데이터뿐만 아니라 소프트웨어 빌드 ID도 명시 적으로 테스트해야합니다.

+0

가장 다양한 기기에서 재생할 파일을 만드는 데 필요한 인코딩 또는 ID3 제안 사항은 무엇입니까? – JeffS

+0

@JeffS 내 제안은 절름발이를 사용하여 id3 태그가없는 모노 cbr mp3를 만들 수 있습니다. 즉, 가장 광범위한 상황에서 작동하도록되어 있지만 코덱이 실패하게하는 버그가 있습니다. 지나치게 복잡한 섹션 등 미디어 개발자 관점에서 안드로이드는 단지 뜨거운 난장판 일뿐입니다.Netflix가 소수의 Android 기기에서만 사용되는 이유에 대해 궁금한 적이 있습니까? 자, 슬프게도, 당신도 알다시피. – tkone

+0

동작에 대한 내 의견보기. 특정 상황에서 파일이 브라우저에서 재생됩니다. – JeffS