超碰在线观看97青草国产_动漫毛片免费观看_亚洲无码黄色电影在线播放_中文字幕无码视频_国产精品91不卡_好爽**片一区二区三区四_亚洲欧美日韩成人网手机版_香蕉影视网站在线观看_欧美成人永久免费观看_国内精品黄三级毛片

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

小程序開發(fā) 3666
今天給各位分享音樂播放器微信小程序開發(fā)源碼的知識(shí),其中也會(huì)對基于微信小程序的音樂播放器設(shè)計(jì)和畢業(yè)論文進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、基于Android音樂播放器源代碼(正常播放、有列表)

今天給各位分享音樂播放器微信小程序開發(fā)源碼的知識(shí),其中也會(huì)對基于微信小程序的音樂播放器設(shè)計(jì)和畢業(yè)論文進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!

本文目錄一覽:

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

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;

//音樂的路徑

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

//播放對象

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一開始為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)聽事件

void listener(){

//開始

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();

}

});

}

//播放音樂

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)用戶返回時(shí)結(jié)束音樂并釋放音樂對象

@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("你確定要離開嗎?")

.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);

}

/**

* 文件過濾器

*

* @author

*

*/

class MusicFilter implements FilenameFilter {

@Override

public boolean accept(File dir, String filename) {

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

}

}

//綁定音樂

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;

//音樂的路徑

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í)播放音樂

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();

}

});

}

/**

* 文件過濾器

*

* @author

*

*/

class MusicFilter implements FilenameFilter {

@Override

public boolean accept(File dir, String filename) {

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

}

}

//綁定音樂

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:簡單的v2ex微信小程序

10:騰訊云微信小程序

11:微信小程序-微票

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

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

14:巴爺微信商城的簡單版本

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

16:微信小程序-知乎日報(bào)

17:微信小程序: 音樂播放器

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

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

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

21:wepy仿微信聊天界面

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

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

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

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

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

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

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

29:Wafer 服務(wù)端 Demo

30:微信小程序版聊天室

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

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

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

34:新聞閱讀器

35:一個(gè)簡單的微信小程序購物車DEMO

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

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

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

39:HiApp 微信小程序版

40:微信小程序的簡單嘗試

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

42:微信小程序版妹紙圖

43:V2ex 微信小程序版

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

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

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

47:微信小程序跟讀

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

49:微信小程序HotApp云筆記

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

51:微信小程序商城demo

52:微信小程序版的掃雷

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

54:微信小程序版干貨集中營

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

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

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

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

59:微信小程序試玩

60:微信小程序逗樂

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

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

63:微信小程序健康菜譜

64: jspapa微信小程序版本

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

66:LeanCloud 的微信小程序用戶登陸Demo

67: 微笑話微信小程序

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

69:體育新聞微信小程序

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

微信小程序音頻播放之音樂播放器

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

Github地址

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

主要實(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)播放,正式版需要通過審核,開發(fā)版本可正常測試;

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

掃碼二維碼