音樂(lè)播放器微信小程序開(kāi)發(fā)源碼(基于微信小程序的音樂(lè)播放器設(shè)計(jì)和畢業(yè)論文)
今天給各位分享音樂(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)注本站。