我的华为手机(其他Android手机应该也是能用的), 自带的音乐播放软件,能用蓝牙直接控制播放停止。 这个功能很方便,特别是不想掏手机,直接按车上蓝牙播放键就能播放,上下键也能切换歌曲。打开华为音乐--》设置蓝牙控制即可,也可以直接用蓝牙耳机控制。
但是播放控制的是华为自带的音乐播放器,自带的播放器音乐资源又非常少。 而且很多是收费的,喜马拉雅的资源非常丰富,于是想能把喜马拉雅下载的音频 ,拷贝到音乐播放器就好了。
可是问题就来了,喜马拉雅隐藏的目录太深了。每次进去就非常非常难找,而且下载的文件名也是乱七八糟必须批量重命名,重命名后再拷贝到华为的music目录。
我喜欢听一些连续的节目,难道每次都要这么麻烦的操作,觉得太麻烦。 我的懒人病又犯了,写一个程序吧。功能很简单,就是输入目录名,比如下载三国演义 , 在输入框输入三国演义就会在 Music目录下创建一个子目录三国演义, 下载完一个专辑 ,就可以执行一次程序,把下载的文件拷贝过去。
如果文件拷贝不过去,请检查一下,喜马拉雅下载的文件是否存在默认目录
- 在【我的】界面中找到最上方的【设置】选项并点击
- 接下来依次点击【下载和缓存设置】—>【下载位置】,在这里就可以看到音频的缓存位置了。
安装包可以通过这个链接下载 https://pan.baidu.com/s/1z6J6MvEeaCN590DhAlPvdA#list/path=%2Fshare%2Fmobile
代码请参考:
package com.youxr.jack.music;
import android.Manifest;
import android.content.pm.PackageManager;
import android.os.Environment;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.system.Os;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import java.io.File;
public class MainActivity extends AppCompatActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final EditText keywordText = (EditText)this.findViewById(R.id.keyword);
Button button = (Button)this.findViewById(R.id.button);
final TextView result = (TextView)this.findViewById(R.id.result);
button.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
String keyword = keywordText.getText().toString();
if (keyword.equals("")) {
result.setText("请输入关键词!");
}else {
result.setText(renameFile(keyword));
}
}
});
}
//移动喜马拉雅下载的文件到另外一个目录
private String renameFile(String keyword) {
String result = "";
String musicDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC).getAbsolutePath();
//源目录
String src=System.getenv("EXTERNAL_STORAGE")+"/Android/data/com.ximalaya.ting.android/files/download";
//目标目录
String dst = musicDir+"/"+keyword.trim();
File[] files = new File(src).listFiles();
int i=0;
//拷贝文件的目录,目录不存在创建一个目录
File to = new File(dst);
if(!to.exists()){
to.mkdirs();
}
//按顺序重命名音乐文件
for (File file : files) {
i++;
to = new File(dst,String.format("%03d", i)+".m4a");
file.renameTo(to);
}
//判断拷贝结果
if (i<1){
result = "没有找到下载的文件!!";
} else {
result = String.format("共移动了 %d 个文件\n到 %s", i , dst);
}
return result;
}
}
安装包下载: https://pan.baidu.com/s/1z6J6MvEeaCN590DhAlPvdA#list/path=%2Fshare%2Fmobile