一级A爱做片免费观看国产,国产 日韩 欧美 综合,亚洲aV免费一区二区三区,亚洲国产在人线放午夜

      <source id="ieoub"><ins id="ieoub"></ins></source>

      音樂(lè)播放器微信小程序開(kāi)發(fā)源碼(基于微信小程序的音樂(lè)播放器設(shè)計(jì)和畢業(yè)論文)

      小程序開(kāi)發(fā) 3847
      今天給各位分享音樂(lè)播放器微信小程序開(kāi)發(fā)源碼的知識(shí),其中也會(huì)對(duì)基于微信小程序的音樂(lè)播放器設(shè)計(jì)和畢業(yè)論文進(jìn)行解釋?zhuān)绻芘銮山鉀Q你現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開(kāi)始吧!本文目錄一覽: 1、基于Android音樂(lè)播放器源代碼(正常播放、有列表)

      今天給各位分享音樂(lè)播放器微信小程序開(kāi)發(fā)源碼的知識(shí),其中也會(huì)對(duì)基于微信小程序的音樂(lè)播放器設(shè)計(jì)和畢業(yè)論文進(jìn)行解釋?zhuān)绻芘銮山鉀Q你現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開(kāi)始吧!

      本文目錄一覽:

      基于Android音樂(lè)播放器源代碼(正常播放、有列表)

      package my.android.players;

      import java.io.File;

      import java.io.FilenameFilter;

      import java.util.ArrayList;

      import java.util.List;

      import android.app.Activity;

      import android.app.AlertDialog;

      import android.content.DialogInterface;

      import android.content.Intent;

      import android.media.MediaPlayer;

      import android.os.Bundle;

      import android.view.KeyEvent;

      import android.view.View;

      import android.view.View.OnClickListener;

      import android.widget.ImageButton;

      import android.widget.TextView;

      public class mainActivity extends Activity {

      private ListString myMusicList=new ArrayListString();

      //當(dāng)前播放歌曲的索引

      private int currentListItem=0;

      //音樂(lè)的路徑

      private static final String MUSIC_PATH="/sdcard/mp3";

      //播放對(duì)象

      private MediaPlayer myMediaPlayer;

      private TextView m_TextView;

      //播放按鈕

      private ImageButton m_start;

      private ImageButton m_stop;

      private ImageButton m_next;

      private ImageButton m_last;

      /*設(shè)定bIsPaused一開(kāi)始為false */

      private boolean bIsRun = false;

      private boolean isplay;

      @Override

      protected void onCreate(Bundle savedInstanceState) {

      // TODO Auto-generated method stub

      super.onCreate(savedInstanceState);

      setContentView(R.layout.main2);

      myMediaPlayer=new MediaPlayer();

      musicList();

      m_TextView=(TextView)findViewById(R.id.mtextview);

      m_start=(ImageButton)findViewById(R.id.imgbtn_start);

      m_stop=(ImageButton)findViewById(R.id.imgbtn_stop);

      m_next=(ImageButton)findViewById(R.id.imgbtn_next);

      m_last=(ImageButton)findViewById(R.id.imgbtn_last);

      listener();

      Intent intent = this.getIntent();

      Bundle bundle = intent.getExtras();

      currentListItem = bundle.getInt("currentListItem");

      isplay=bundle.getBoolean("isplay");

      if(isplay==true)

      {

      bIsRun=false;

      playMusic(MUSIC_PATH+"/"+myMusicList.get(currentListItem));

      }

      }

      //監(jiān)聽(tīng)事件

      void listener(){

      //開(kāi)始

      m_start.setOnClickListener(new OnClickListener() {

      @Override

      public void onClick(View v) {

      // TODO Auto-generated method stub

      try

      {

      if(myMediaPlayer.isPlaying()==true)

      {

      myMediaPlayer.pause();

      m_start.setImageResource(R.drawable.pause);

      }

      else

      {

      playMusic(MUSIC_PATH+"/"+myMusicList.get(currentListItem));

      }

      }

      catch (IllegalStateException e)

      {

      // TODO Auto-generated catch block

      e.printStackTrace();

      }

      }

      });

      //下一首

      m_next.setOnClickListener(new OnClickListener() {

      @Override

      public void onClick(View v) {

      // TODO Auto-generated method stub

      nextMusic();

      }

      });

      //上一首

      m_last.setOnClickListener(new OnClickListener() {

      @Override

      public void onClick(View v) {

      // TODO Auto-generated method stub

      lastMusic();

      }

      });

      //停止

      m_stop.setOnClickListener(new OnClickListener() {

      @Override

      public void onClick(View v) {

      // TODO Auto-generated method stub

      stopMusic();

      }

      });

      myMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {

      @Override

      public void onCompletion(MediaPlayer mp) {

      // TODO Auto-generated method stub

      nextMusic();

      }

      });

      }

      //播放音樂(lè)

      void playMusic(String path){

      try {

      if(bIsRun==false)

      {

      myMediaPlayer.reset();

      myMediaPlayer.setDataSource(path);

      myMediaPlayer.prepare();

      myMediaPlayer.start();

      /*

      * 取出歌曲名的.mp3后綴

      * */

      String str=(myMusicList.get(currentListItem)).toString();

      System.out.println(str);

      String str1[]=str.split("\\.");

      System.out.println(str1[0]);

      m_TextView.setText(str1[0]);

      }

      else

      {

      myMediaPlayer.start();

      }

      m_start.setImageResource(R.drawable.start);

      bIsRun=true;

      } catch (Exception e) {

      // TODO: handle exception

      e.printStackTrace();

      }

      }

      //下一首

      void nextMusic(){

      if(++currentListItem=myMusicList.size()){

      currentListItem=0;

      }

      bIsRun=false;

      playMusic(MUSIC_PATH+"/"+myMusicList.get(currentListItem));

      }

      //上一首

      void lastMusic(){

      if(--currentListItem0)

      currentListItem=myMusicList.size()-1;

      bIsRun=false;

      playMusic(MUSIC_PATH+"/"+myMusicList.get(currentListItem));

      }

      //停止

      void stopMusic() {

      if (myMediaPlayer.isPlaying()) {

      m_start.setImageResource(R.drawable.pause);

      myMediaPlayer.stop();// 停止

      bIsRun=false;

      }

      else

      playMusic(MUSIC_PATH+"/"+myMusicList.get(currentListItem));

      }

      //當(dāng)用戶(hù)返回時(shí)結(jié)束音樂(lè)并釋放音樂(lè)對(duì)象

      @Override

      public boolean onKeyDown(int keyCode, KeyEvent event) {

      // TODO Auto-generated method stub

      if(keyCode==KeyEvent.KEYCODE_BACK){

      new AlertDialog.Builder(mainActivity.this).setTitle("message")

      .setIcon(android.R.drawable.dialog_frame)

      .setMessage("你確定要離開(kāi)嗎?")

      .setPositiveButton("確定",new DialogInterface.OnClickListener() {

      @Override

      public void onClick(DialogInterface dialog, int which) {

      // TODO Auto-generated method stub

      myMediaPlayer.stop();

      myMediaPlayer.release();

      finish();

      }

      }).setNegativeButton("取消",new DialogInterface.OnClickListener() {

      @Override

      public void onClick(DialogInterface dialog, int which) {

      // TODO Auto-generated method stub

      }

      }).show();

      }

      return super.onKeyDown(keyCode, event);

      }

      /**

      * 文件過(guò)濾器

      *

      * @author

      *

      */

      class MusicFilter implements FilenameFilter {

      @Override

      public boolean accept(File dir, String filename) {

      return (filename.endsWith(".mp3"));

      }

      }

      //綁定音樂(lè)

      void musicList(){

      try{

      File home=new File(MUSIC_PATH);

      if(!home.exists())

      home.mkdirs();

      if(home.listFiles(new MusicFilter()).length=0){

      for(File file:home.listFiles(new MusicFilter())){

      myMusicList.add(file.getName().toString());

      }

      }

      }

      catch(Exception ex)

      {

      ex.printStackTrace();

      }

      }

      }

      package my.android.players;

      import java.io.File;

      import java.io.FilenameFilter;

      import java.util.ArrayList;

      import java.util.List;

      import android.app.Activity;

      import android.content.Intent;

      import android.os.Bundle;

      import android.view.View;

      import android.widget.AdapterView;

      import android.widget.ArrayAdapter;

      import android.widget.ListView;

      public class Activity01 extends Activity {

      //播放列表

      private ListString myMusicList=new ArrayListString();

      //當(dāng)前播放歌曲的索引

      private int currentListItem;

      //音樂(lè)的路徑

      private static final String MUSIC_PATH="/sdcard/mp3";

      //播放列表

      private ListView m_ListView;

      private boolean isplay=true;

      /** Called when the activity is first created. */

      @Override

      public void onCreate(Bundle savedInstanceState) {

      super.onCreate(savedInstanceState);

      setContentView(R.layout.main);

      m_ListView=(ListView)findViewById(R.id.lv_music);

      musicList();

      //當(dāng)選擇列表項(xiàng)時(shí)播放音樂(lè)

      m_ListView.setOnItemClickListener(new ListView.OnItemClickListener() {

      @Override

      public void onItemClick(AdapterView? arg0, View arg1, int arg2,

      long arg3) {

      currentListItem = arg2;

      Intent intent = new Intent();

      Bundle mBundle=new Bundle();

      mBundle.putInt("currentListItem", currentListItem);

      mBundle.putBoolean("isplay", isplay);

      intent.putExtras(mBundle);

      intent.setClass(Activity01.this,mainActivity.class);

      startActivity(intent);

      finish();

      }

      });

      }

      /**

      * 文件過(guò)濾器

      *

      * @author

      *

      */

      class MusicFilter implements FilenameFilter {

      @Override

      public boolean accept(File dir, String filename) {

      return (filename.endsWith(".mp3"));

      }

      }

      //綁定音樂(lè)

      void musicList(){

      try{

      File home=new File(MUSIC_PATH);

      if(!home.exists())

      home.mkdirs();

      if(home.listFiles(new MusicFilter()).length=0){

      for(File file:home.listFiles(new MusicFilter())){

      myMusicList.add(file.getName().toString());

      }

      ArrayAdapterString musicList=new ArrayAdapterString

      (Activity01.this,android.R.layout.simple_list_item_1, myMusicList);

      m_ListView.setAdapter(musicList);

      }

      }

      catch(Exception ex)

      {

      ex.printStackTrace();

      }

      }

      }

      Github上收集了70個(gè)微信小程序源碼

      1:仿豆瓣電影微信小程序

      2:微信小程序移動(dòng)端商城

      3:Gank微信小程序

      4:微信小程序高仿QQ應(yīng)用

      5:微信中的知乎

      6:實(shí)現(xiàn)一個(gè)移動(dòng)端小商城

      7:微信小程序demo

      8: 跑步微信小程序Demo

      9:簡(jiǎn)單的v2ex微信小程序

      10:騰訊云微信小程序

      11:微信小程序-微票

      12:微信小程序demo 仿手機(jī)淘寶

      13:一個(gè)為微信小程序開(kāi)發(fā)準(zhǔn)備的基礎(chǔ)骨架

      14:巴爺微信商城的簡(jiǎn)單版本

      15:微信小程序 - 電影推薦

      16:微信小程序-知乎日?qǐng)?bào)

      17:微信小程序: 音樂(lè)播放器

      18:使用微信小程序?qū)崿F(xiàn)分答這款A(yù)PP的基礎(chǔ)功能

      19:微信小程序開(kāi)發(fā)demo-地圖定位

      :20:微信小程序 - 豆瓣電影

      21:wepy仿微信聊天界面

      22:仿 「ONE · 一個(gè)」 的微信小程序

      23:微信小程序集成Redux實(shí)現(xiàn)的Todo list

      24: 基于Zhihu Live數(shù)據(jù)的微信小程序

      25:微信小程序之小熊の日記

      26:仿網(wǎng)易云音樂(lè)APP的微信小程序

      27:微信小程序的Flex布局demo

      28:番茄時(shí)鐘微信小程序版

      29:Wafer 服務(wù)端 Demo

      30:微信小程序版聊天室

      31:微信小程序版簡(jiǎn)易計(jì)算器,適合入門(mén)練手

      32:微信小程序示例一筆到底

      33:基于面包旅行 API 制作的微信小程序示例

      34:新聞閱讀器

      35:一個(gè)簡(jiǎn)單的微信小程序購(gòu)物車(chē)DEMO

      36:微信小程序-公眾號(hào)熱門(mén)文章信息流

      37:通過(guò)Node.js實(shí)現(xiàn)的妹子照片爬蟲(chóng)微信小程序

      38:從FlexLayout布局開(kāi)始學(xué)習(xí)微信小程序

      39:HiApp 微信小程序版

      40:微信小程序的簡(jiǎn)單嘗試

      41:集美大學(xué)圖書(shū)館的便捷工具

      42:微信小程序版妹紙圖

      43:V2ex 微信小程序版

      44:微信小程序仿百思不得姐

      45:微信小程序音樂(lè)播放器應(yīng)用

      46:醫(yī)藥網(wǎng)原生APP的微信小程序DEMO

      47:微信小程序跟讀

      48:微信小程序瀑布流布局模式

      49:微信小程序HotApp云筆記

      50:小程序模仿——網(wǎng)易云音樂(lè)

      51:微信小程序商城demo

      52:微信小程序版的掃雷

      53:專(zhuān)注管理時(shí)間的微信小程序

      54:微信小程序版干貨集中營(yíng)

      55:英雄聯(lián)盟(LOL)戰(zhàn)績(jī)查詢(xún)

      56:微信小程序首字母排序選擇表

      57:微信小程序版豆瓣電影

      58:簡(jiǎn)單的實(shí)現(xiàn)了1024的游戲規(guī)則

      59:微信小程序試玩

      60:微信小程序逗樂(lè)

      61:一步步開(kāi)發(fā)微信小程序

      62:一個(gè) meteor 的 React todo list 例子

      63:微信小程序健康菜譜

      64: jspapa微信小程序版本

      65:微信小程序版的CNodeJs中文社區(qū)

      66:LeanCloud 的微信小程序用戶(hù)登陸Demo

      67: 微笑話(huà)微信小程序

      68:微信小程序開(kāi)發(fā)的App

      69:體育新聞微信小程序

      70:基于Labrador和mobx構(gòu)建的小程序開(kāi)發(fā)demo

      微信小程序音頻播放之音樂(lè)播放器

      使用微信小程序?qū)崿F(xiàn)一個(gè)簡(jiǎn)易的音樂(lè)播放器.

      Github地址

      雖然界面很簡(jiǎn)單,但是一個(gè)音頻播放器該有的功能大部分都有了(沒(méi)有歌詞顯示功能).

      主要實(shí)現(xiàn)的功能有:

      1.實(shí)現(xiàn)音頻播放,暫停;

      2.實(shí)現(xiàn)拖拽進(jìn)度條,快進(jìn)音頻進(jìn)度;

      3.實(shí)現(xiàn)上一首,下一首,列表循環(huán)播放;

      4.實(shí)現(xiàn)關(guān)閉小程序,也可在后臺(tái)播放,正式版需要通過(guò)審核,開(kāi)發(fā)版本可正常測(cè)試;

      一丶index.js

      二丶index.wxml

      三丶index.wxss

      四丶要實(shí)現(xiàn)關(guān)閉小程序后,依然后臺(tái)播放,微信頂部懸浮展示,需要再app.json配置requiredBackgroundModes屬性

      附上官方相關(guān)api鏈接:

      BackgroundAudioManager.html

      wx.getBackgroundAudioManager()

      slider組件

      關(guān)于音樂(lè)播放器微信小程序開(kāi)發(fā)源碼和基于微信小程序的音樂(lè)播放器設(shè)計(jì)和畢業(yè)論文的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

      掃碼二維碼