zoukankan      html  css  js  c++  java
  • MediaPlayer 在线播放音乐

    python 代码

    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 端

     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 代码

    服务端配置好了后,手机端点击播放按钮,不一会,萌萌哒初音就开始唱歌了

    小故事:

    之所以会突然想写这个 demo,主要是因为楼主很久以前的毕业设计是写的 Android 播放器,当时不知道为什么在播放在线歌曲的时候失败了,现在莫名的想弄清楚这个问题,刚好 python 写后端挺方便的(之前毕设是用 java 写的后端),所以就尝试了一下,结果发现可以正常的播放在线歌曲嘛。

    同时如果用浏览器打开这个地址,浏览器会自动播放音乐,注意必须将 Content-Type 设置为 audio/mp3,如果设置成 text/html,浏览器就会以文本的方式显示了,很感人的一堆乱码 2333。

  • 相关阅读:
    华科机考:特殊排序
    华科机考:排序
    华科机考:字符串连接
    华科机考:a+b
    华科机考:IP地址
    华科机考:统计单词
    iOS 应用评分
    jQuery Custom PopUp Window
    Csharp:字符串操作
    Css:Conditional comments 条件注释
  • 原文地址:https://www.cnblogs.com/zhangyan-2015/p/6378854.html
Copyright © 2011-2022 走看看