MediaPlayer 在線播放音樂

python 代碼html

1 def application2(environ, start_response):
2     start_response("200 ok", [('Content-Type', 'audio/mp3')])
3     with open("/Users/zhangyan/PycharmProjects/web/WebDemoApp/static/初音ミク,小野道 - 任性.mp3", mode="rb") as f:
4         data = f.read()
5     return [data]
Python 後端

Android 端java

 1 public class MainActivity extends AppCompatActivity implements View.OnClickListener, MediaPlayer.OnPreparedListener {
 2 
 3     Button player;
 4     MediaPlayer mediaPlayer;
 5     @Override
 6     protected void onCreate(Bundle savedInstanceState) {
 7         super.onCreate(savedInstanceState);
 8         setContentView(R.layout.activity_main);
 9 
10         player = (Button) findViewById(R.id.btnId_main_player);
11         player.setOnClickListener(this);
12     }
13 
14     @Override
15     public void onClick(View view) {
16         switch (view.getId()){
17             case R.id.btnId_main_player:
18                 playOnline();
19                 break;
20         }
21     }
22 
23     private void playOnline() {
24         if (mediaPlayer == null){
25             mediaPlayer = new MediaPlayer();
26             mediaPlayer.setOnPreparedListener(this);
27         }
28 
29         mediaPlayer.reset();
30         try {
31             mediaPlayer.setDataSource("http://10.128.34.201:8000");
32             mediaPlayer.prepareAsync();
33         } catch (IOException e) {
34             e.printStackTrace();
35         }
36     }
37 
38 
39     @Override
40     protected void onDestroy() {
41         super.onDestroy();
42         if (mediaPlayer != null){
43             mediaPlayer.stop();
44             mediaPlayer.release();
45             mediaPlayer = null;
46         }
47     }
48 
49     @Override
50     public void onPrepared(MediaPlayer mediaPlayer) {
51         mediaPlayer.start();
52     }
53 }
Android 代碼

 

服務端配置好了後,手機端點擊播放按鈕,不一會,萌萌噠初音就開始唱歌了python

小故事:web

之因此會忽然想寫這個 demo,主要是由於樓主好久之前的畢業設計是寫的 Android 播放器,當時不知道爲何在播放在線歌曲的時候失敗了,如今莫名的想弄清楚這個問題,恰好 python 寫後端挺方便的(以前畢設是用 java 寫的後端),因此就嘗試了一下,結果發現能夠正常的播放在線歌曲嘛。後端

同時若是用瀏覽器打開這個地址,瀏覽器會自動播放音樂,注意必須將 Content-Type 設置爲 audio/mp3,若是設置成 text/html,瀏覽器就會以文本的方式顯示了,很感人的一堆亂碼 2333。瀏覽器

相關文章
相關標籤/搜索