2012-04-05 2 views
1

У меня есть радиоприложение для моего сайта, работающего в моем EVO и других устройствах, которые отлично работают, но пользователь говорит мне, что в его Samsung Galaxy S он замораживает приложение (он присылает мне видео в witch Я вижу, что услуга медиаплеера получает звонок и запускается, но звук не появляется, и приложение не замораживает аварийный экран для отправки отчета или ничего, что просто зависает), у меня нет Galaxy для тестирования, так что я могу сделать? есть ли у кого-то еще такая же проблема? Я пытаюсь вставить свой код здесь, но кто-то решил закрыть мой вопрос без каких-либо предложений. все мое приложение работает от основного действия, кнопка вызывает медиаплеер, добавляет URL-адрес моего mp3-потока и запускает плательщика.Служба Android Media Player отключает Samsung Galaxy S

Button canal1 = (Button) findViewById(R.id.bcanal1); 
     canal1.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View view) { 
       mUrl = "http://67.212.165.106:8161"; 
        textRadioName.setText("you are listening to VARIADO!"); 
         Intent i = new Intent (ChevereMovilActivity.this, PlayerService.class); 
     startService(i); 
     PlayerService.setSong(mUrl, "Temp Song", null); 
     start(); 
     }}); 

метод запуска

@Override 
public void start() { 
    if (PlayerService.getInstance() != null) { 
     PlayerService.getInstance().startMusic(); 
    } 
} 

в проявленном

<service android:name=".PlayerService" 
      android:label="@string/app_name"> 
      <intent-filter> 
     </intent-filter>  
    </service> 

, как я сказал, что это работает в моем накануне, но не на Samsung Galaxy S Я использую Android 2.2

+1

Я нашел это [ссылка] (http://innovator.samsungmobile.com/cms/cnts/knowledge.detail.view.do?platformId=1&cntsId=9578&listReturnUrl=http%3A%2F%2Finnovator.samsungmobile.com% 3A80% 2Fplatform.main.do% 3FplatformId% 3D1% 26cateId% 3D1% 26cntsId% 3D% 26imgType% 3D% 26searchText% 3Dgalaxy% 2BS% 2B% 26sortType% 3D0% 26codeType% 3DAll% 26nacode% 3D% 26indexDirection% 3D1% 26indexType% 3D1% 26listLines% 3D10% 26tabNum% 3D1 & linkType = 0 & nacode = & codeType = All), где вы можете получить Samsung GALAXY S Skin для эмуляции телефона, я следую инструкциям на сайте, но не могу построить AVD, – zvzej

+1

, это дает мне ошибку [2012-04-06 16:07:51 - Менеджер SDK] Кожа «Galaxy_s» не существует. [2012-04-06 16:07:51 - Менеджер SDK] Отсутствует скин в папке AVD. Что я делаю не так? – zvzej

ответ

0

Услуга заморожена, потому что Samsung Galaxy S не может подготовить поток, и вы, вероятно, используя mediaPlayer.prepare() вместо mediaPlayer.prepareAsync().

Я думаю, что это недокументированная «причуда» в некоторых устройствах Galaxy. Проблема заключается в формате потока. Если вы пишете в консоли:

wget -S -O stream http://67.212.165.106:8161 

и их:

head -n 12 stream 

вы можете увидеть что-то вроде:

ICY 200 OK 
icy-notice1:<BR>This stream requires <a href="http://www.winamp.com/">Winamp</a><BR> 
icy-notice2:SHOUTcast Distributed Network Audio Server/Linux v1.9.8<BR> 
icy-name:My Station name 
icy-genre:Various 
icy-url:http://www.radiokolergan.com 
content-type:audio/mpeg 
icy-pub:1 
icy-br:64 

qOCéúÐX43‘¤]ÝáÅQ(;Œ6½v<‡ÿò„ 

Я думаю, что проблема заключается в заголовок. Если вы попытаетесь использовать другие URL-адреса (например: http://195.55.74.213/rtve/radio4.mp3?GKID=804c9f24cb4811e1af4600163ea2c743), вы не получите этот заголовок, и он отлично воспроизводится в Samsung Galaxy Tab и других устройствах.

+0

Я узнал, что на самом деле эти потоки действительно работали, но только когда у меня был WiFi, я думаю, что галактика заглохнет, если поток попытается воспроизвести качество до максимума. – zvzej

+0

Поток '' http: //67.212.165.106: 8161'' не работает для меня, когда у меня включен Wi-Fi. Я продолжу исследование проблемы. Если я найду что-то новое, я отредактирую ответ. –

+0

Я думаю, что этот URL больше не работает. – zvzej