Android Media Player服务冻结了三星galaxy S.

时间:2012-04-05 20:22:15

标签: android service media-player galaxy

我有一个广播应用程序,我的网站在我的EVO和其他设备工作很好,但用户告诉我,在他的三星Galaxy S它冻结了应用程序(他发送给我一个女巫的视频,我可以看到,媒体播放器服务获得通话和启动,但没有声音出来,应用程序冻结没有崩溃屏幕发送报告或没有它只是冻结),我没有银河测试,所以我该怎么办?有没有其他人有类似的问题?我尝试在这里粘贴我的代码,但有人决定不提出任何建议来结束我的问题。 我的所有应用程序都是来自主要活动按钮调用媒体播放器添加我的mp3流的URL并启动付款人。

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>
像我说的那样在我的前夕工作但不是三星Galaxy S. 我正在使用Android 2.2

1 个答案:

答案 0 :(得分:0)

该服务被冻结,因为三星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<‡ÿò„

我认为问题是这个标题。如果您尝试使用其他网址(例如:http://195.55.74.213/rtve/radio4.mp3?GKID=804c9f24cb4811e1af4600163ea2c743),则您无法获得此标头,并且可以在Samsung Galaxy Tab和其他设备中重现。