2012-07-18 86 views
1

我想製作一個應用程序,在Android上播放實時HTTP流(我已經做了iphone相同)。 Android的官方教程演示如何做HTTP實時流媒體,我跟着一個樣本codeAndroid可以直接播放動態HTTP流使用Flash清單文件(.f4m)

public class liveStream extends Activity implements OnClickListener { 
    Button streamButton; 
    MediaPlayer mediaPlayer = null; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_live_stream); 

     streamButton = (Button) findViewById(R.id.streamButton); 
     streamButton.setOnClickListener(this); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     getMenuInflater().inflate(R.menu.activity_live_stream, menu); 
     return true; 
    } 

    public void onClick(View v) {  
     String url = "http://d2233avv69kunu.cloudfront.net/hds-live/livepkgr/_definst_/liveevent/livestream.f4m"; 
     mediaPlayer = new MediaPlayer(); 
     mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 

     try { 
      mediaPlayer.setDataSource(url); 
     } catch (IllegalStateException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

     try { 
      mediaPlayer.prepare(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
     mediaPlayer.start(); 
    } 
} 

的事情是我一直得到一個IOException異常當我嘗試編寫的球員。我做了一些研究,並似乎我需要從我的android播放Flash客戶端?如果是這樣,那麼如何在沒有第三方Flash播放器的情況下直接播放直播http流?類似於iphone

回答

0

大多數Android上本地從2.3設備支持蘋果HLS以某種形式或其他。有些設備需要使用httplive://.../playlist.m3u8代替http://,但據我所知,大多數設備都支持只有http的m3u8 URL,尤其是一旦你通過Android 3.0