谁知道哪个车载酷狗音乐播放器安卓版(安卓版)的,可以在播放音乐的同时显示当前时间

[Android开发学习04]长时间的音乐播放实现MediaPlayer
长时间的音乐因为体积比较大,放在手机内存中,对资源的占用太大。
MediaPlayer类可以用来播放音频、视频和流媒体,MediaPlayer包含了Audio和Video的播放功能。
在的界面上,Music和Video两个应用程序都是调用MediaPlayer实现的。
MediaPlayer在底层是基于OpenCore(PacketVideo)的库实现的。
一.基础知识:
首先来看看MediaPlayer的生命周期:
下边是MediaPlayer提供的常用方法:
方法& 说明&
MediaPlayer&&&& 构造方法&
create& 创建一个要播放的多媒体&
getCurrentPosition& 得到当前播放位置&
getDuration&&&& 得到文件的时间&
getVideoHeight& 得到视频的高度&
getVideoWidth&& 得到视频的宽度&
isLooping&& 是否循环播放&
isPlaying&& 是否正在播放&
pause&& 暂停&
prepare&&&& 准备(同步)&
prepareAsync&&& 准备(异步)&
release&&&& 释放MediaPlayer对象&
reset&& 重置MediaPlayer对象&
seekTo& 指定播放的位置(以毫秒为单位的时间)&
setAudioStreamType& 设置流媒体的类型&
setDataSource&& 设置多媒体数据来源&
setDisplay& 设置用SurfaceHolder来显示多媒体&
setLooping& 设置是否循环播放&
setOnButteringUpdateListener&&& 网络流媒体的缓冲监听&
setOnErrorListener& 设置错误信息监听&
setOnVideoSizeChangedListener&& 视频尺寸监听&
setScreenOnWhilePlaying&&&& 设置是否使用SurfaceHolder来保持屏幕显示&
setVolume&& 设置音量&
start&& 开始播放&
stop&&& 停止播放&&
方法 &说明
MediaPlayer &构造方法
create &创建一个要播放的多媒体
getCurrentPosition &得到当前播放位置
getDuration &得到文件的时间
getVideoHeight &得到视频的高度
getVideoWidth &得到视频的宽度
isLooping &是否循环播放
isPlaying &是否正在播放
pause &暂停
prepare &准备(同步)
prepareAsync &准备(异步)
release &释放MediaPlayer对象
reset &重置MediaPlayer对象
seekTo &指定播放的位置(以毫秒为单位的时间)
setAudioStreamType &设置流媒体的类型
setDataSource &设置多媒体数据来源
setDisplay &设置用SurfaceHolder来显示多媒体
setLooping &设置是否循环播放
setOnButteringUpdateListener &网络流媒体的缓冲监听
setOnErrorListener &设置错误信息监听
setOnVideoSizeChangedListener &视频尺寸监听
setScreenOnWhilePlaying &设置是否使用SurfaceHolder来保持屏幕显示
setVolume &设置音量
start &开始播放
stop &停止播放
这个图和这些函数名称,对于我们初学者来说, 没必要太在意, 了解一下基本的名词即可,等到项目中确实遇到交互性问题时,我们再回来仔细探讨。
我们只要明白下面几行代码即可(Android中通过MediaPlayer来播放音乐的步骤):
MediaPlayer mp = new MediaPlayer();//构建MediaPlayer对象&&
mp.setDataSource(&/sdcard/test.mp3&);//设置文件路径&&
mp.prepare();//准备&&
mp.start();//开始播放&&
MediaPlayer mp = new MediaPlayer();//构建MediaPlayer对象
mp.setDataSource(&/sdcard/test.mp3&);//设置文件路径
mp.prepare();//准备
mp.start();//开始播放
上面四行代码实现了媒体文件的播放,但是如果还想再加入对音量的控制,就要涉及到AudioMananger类。
AudioManager中常用的方法如下:
A. 获取声音管理器:
AudioManager audioManager = (AudioManager) this.getSystemService(AUDIO_SERVICE);&
AudioManager audioManager = (AudioManager) this.getSystemService(AUDIO_SERVICE);
B、设置声音模式:
//声音模式&&
AudioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);&
//静音模式&&
AudioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);&
//震动模式&&
AudioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);&
&&& //声音模式
&&& AudioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
&&& //静音模式
&&& AudioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
&&& //震动模式
&&& AudioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
C、调整声音大小:
//减少声音音量&&
AudioManager.adjustVolume(AudioManager.ADJUST_LOWER,& 0);&
//调大声音音量&&
AudioManager.adjustVolume(AudioManager.ADJUST_RAISE, 0);&
&&& //减少声音音量
&&& AudioManager.adjustVolume(AudioManager.ADJUST_LOWER,& 0);
&&& //调大声音音量
&&& AudioManager.adjustVolume(AudioManager.ADJUST_RAISE, 0);
D、获取音量大小:
// 取得当前设备的当前音量&&
AudioManager.getStreamVolume(int streamType)&
// 取得当前设备的最大音量&&
AudioManager.getStreamMaxVolume(int streamType)&
// 取得当前设备的当前音量
AudioManager.getStreamVolume(int streamType)
// 取得当前设备的最大音量
AudioManager.getStreamMaxVolume(int streamType)
getMode()获取音频模式&
getRingerMode()获取铃声震动模式&
setRingerMode(int ringerMode) 改变铃声模式&&
这里如果使用了和手机震动有关的模式,记得添加权限。android.permission.VIBRATE哦!&
getMode()获取音频模式
getRingerMode()获取铃声震动模式
setRingerMode(int ringerMode) 改变铃声模式
这里如果使用了和手机震动有关的模式,记得添加权限。android.permission.VIBRATE哦!
1. 界面编辑(res\layout\main.xml):
&?xml version=&1.0& encoding=&utf-8&?&&
&LinearLayout xmlns:android=&&&
&&& android:orientation=&vertical&&
&&& android:layout_width=&fill_parent&&
&&& android:layout_height=&fill_parent&&
&&& &Button&&
&&&&&&& android:text=&播放音乐&&&
&&&&&&& android:id=&@+id/ButtonPlay&&&
&&&&&&& android:layout_width=&fill_parent&&
&&&&&&& android:layout_height=&wrap_content&&&
&&& &/Button&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &!-- 播放音乐按钮 --&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&& &Button&&
&&&&&&& android:text=&暂停音乐&&&
&&&&&&& android:id=&@+id/ButtonPause&&&
&&&&&&& android:layout_width=&fill_parent&&
&&&&&&& android:layout_height=&wrap_content&&&
&&& &/Button&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &!-- 暂停音乐按钮 --&&
&&& &Button&&
&&&&&&& android:text=&停止音乐&&&
&&&&&&& android:id=&@+id/ButtonStop&&&
&&&&&&& android:layout_width=&fill_parent&&
&&&&&&& android:layout_height=&wrap_content&&&
&&& &/Button&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &!-- 停止音乐按钮 --&&
&&& &Button&&
&&&&&&& android:text=&增大音乐&&&
&&&&&&& android:id=&@+id/ButtonVAdd&&&
&&&&&&& android:layout_width=&fill_parent&&
&&&&&&& android:layout_height=&wrap_content&&&
&&& &/Button&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &!-- 增大音乐按钮 --&&
&&& &Button&&
&&&&&&& android:text=&降低音乐&&&
&&&&&&& android:id=&@+id/ButtonVReduce&&&
&&&&&&& android:layout_width=&fill_parent&&
&&&&&&& android:layout_height=&wrap_content&&&
&&& &/Button&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &!-- 降低音乐按钮 --&&
&/LinearLayout&&
&?xml version=&1.0& encoding=&utf-8&?&
&LinearLayout xmlns:android=&&
&&& android:orientation=&vertical&
&&& android:layout_width=&fill_parent&
&&& android:layout_height=&fill_parent&
&&android:text=&播放音乐&
&&android:id=&@+id/ButtonPlay&
&&android:layout_width=&fill_parent&
&&android:layout_height=&wrap_content&&
&&/Button&&&&&&&&&&!-- 播放音乐按钮 --&&&&&&&&&&
&&android:text=&暂停音乐&
&&android:id=&@+id/ButtonPause&
&&android:layout_width=&fill_parent&
&&android:layout_height=&wrap_content&&
&&/Button&&&&&&&&&&!-- 暂停音乐按钮 --&
&&android:text=&停止音乐&
&&android:id=&@+id/ButtonStop&
&&android:layout_width=&fill_parent&
&&android:layout_height=&wrap_content&&
&&/Button&&&&&&&&&&!-- 停止音乐按钮 --&
&&android:text=&增大音乐&
&&android:id=&@+id/ButtonVAdd&
&&android:layout_width=&fill_parent&
&&android:layout_height=&wrap_content&&
&&/Button&&&&&&&&&&!-- 增大音乐按钮 --&
&&android:text=&降低音乐&
&&android:id=&@+id/ButtonVReduce&
&&android:layout_width=&fill_parent&
&&android:layout_height=&wrap_content&&
&&/Button&&&&&&&&&&!-- 降低音乐按钮 --&
&/LinearLayout&
界面布局效果如下:
2. 代码编辑(\src\wyf\zcl\MyActivity.java):
package wyf.&
import android.app.A&&&&&&&&&&& //引入相关包&&
import android.media.AudioM&&&&& //引入相关包&&
import android.media.MediaP&&&&&& //引入相关包&&
import android.os.B&&&&&&&&&&&&&& //引入相关包&&
import android.view.V&&&&&&&&&&&&&& //引入相关包&&
import android.widget.B&&&&&&&&&& //引入相关包&&
import android.widget.T&
public class MyActivity extends Activity {&
&&& /** Called when the activity is first created. */&
&&& private Button bP&&&&&&&&&&&&&&&&&& //播放按钮&&
&&& private Button bP&&&&&&&&&&&&&&&&& //暂停按钮&&
&&& private Button bS&&&&&&&&&&&&&&&&&& //停止按钮&&
&&& private Button bA&&&&&&&&&&&&&&&&&&& //增大音量&&
&&& private Button bR&&&&&&&&&&&&&&&& //降低音量&&
&&& private boolean pauseFlag=&&&&&&& //暂停标记,true暂停态,false非暂停态&&
&&& MediaP&&&&&&&&&&&&&&&&&&&&&&&& //MediaPlayer引用&&
&&& AudioM&&&&&&&&&&&&&&&&&&&&&&& //AudioManager引用&&
&&& @Override&
&&& public void onCreate(Bundle savedInstanceState) {&& //Activity创建时调用&&
&&&&&&& super.onCreate(savedInstanceState);&
&&&&&&& setContentView(R.layout.main);&&&&&&&&&&&&&&&&& //设置Activity的显示内容&&
&&&&&&& bPlay=(Button)findViewById(R.id.ButtonPlay);&&& //播放按钮的实例化&&
&&&&&&& bPause=(Button)findViewById(R.id.ButtonPause);& //暂停按钮的实例化&&
&&&&&&& bStop=(Button)findViewById(R.id.ButtonStop);&&& //停止按钮的实例化&&
&&&&&&& bAdd=(Button)findViewById(R.id.ButtonVAdd);&&&& //增大音量按钮的实例化&&
&&&&&&& bReduce =(Button)findViewById(R.id.ButtonVReduce);//降低音量按钮的实例化&&
&&&&&&& mp=new MediaPlayer();&
&&&&&&& am=(AudioManager) this.getSystemService(this.AUDIO_SERVICE);&
&&&&&&& bPlay.setOnClickListener(new View.OnClickListener() {//播放按钮的监听器&&
&&&&&&&&&&& @Override&
&&&&&&&&&&& public void onClick(View v) {&
&&&&&&&&&&&&&&&& try{&
&&&&&&&&&&&&&&&&&&&&&&& mp.setDataSource(&/sdcard/music/sound_of_dream_DJ.mp3&);&&&&&&& //加载音频,进入Initialized状态。&&
&&&&&&&&&&&&&&&&&&& }catch(Exception e){e.printStackTrace();}&
&&&&&&&&&&&&&&&&&&& try{&
&&&&&&&&&&&&&&&&&&&&&&& mp.prepare();&&&&&&&&&&&&&&&&&&&&&&&&&& //进入prepared状态。&&
&&&&&&&&&&&&&&&&&&& }catch(Exception e){e.printStackTrace();}&
&&&&&&&&&&&&&&& mp.start();&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //播放音乐&&
&&&&&&&&&&&&&&& Toast.makeText(MyActivity.this, &播放音乐&, Toast.LENGTH_SHORT).show();&
&&&&&&& }});&
&&&&&&& bPause.setOnClickListener(new View.OnClickListener() {& //暂停按钮添加监听器&&
&&&&&&&&&&& @Override&
&&&&&&&&&&& public void onClick(View v) {&
&&&&&&&&&&&&&&& if(mp.isPlaying()){&&&&&&&&&&&&&&&&&&&&&&&&&&&& //如果是在播放态&&
&&&&&&&&&&&&&&&&&&& mp.pause();&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //调用暂停方法&&
&&&&&&&&&&&&&&&&&&& pauseFlag=&&&&&&&&&&&&&&&&&&&&&&&&&&&& //设置暂停标记&&
&&&&&&&&&&&&&&& }else if(pauseFlag){&
&&&&&&&&&&&&&&&&&&& mp.start();&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //播放音乐&&
&&&&&&&&&&&&&&&&&&& pauseFlag=&&&&&&&&&&&&&&&&&&&&&&&&&&& //设置暂停标记&&
&&&&&&&&&&&&&&& Toast.makeText(MyActivity.this, &暂停播放&, Toast.LENGTH_SHORT).show();&&
&&&&&&&&&&& }}&
&&&&&&& });&
&&&&&&& bStop.setOnClickListener(new View.OnClickListener() {&& //停止按钮添加监听器&&
&&&&&&&&&&& @Override&
&&&&&&&&&&& public void onClick(View v) {&
&&&&&&&&&&&&&&& mp.stop();&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //停止播放&&
&&&&&&&&&&&&&&&& mp.reset();&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //重置状态到uninitialized态&&
&&&&&&&&&&&&&&&& try{&
&&&&&&&&&&&&&&&&&&&&&&& mp.setDataSource(&/sdcard/music/sound_of_dream_DJ.mp3&);&&&&&&& //加载音频,进入Initialized状态。&&
&&&&&&&&&&&&&&&& }catch(Exception e){e.printStackTrace();}&
&&&&&&&&&&&&&&&&&&& try{&
&&&&&&&&&&&&&&&&&&&&&&& mp.prepare();&&&&&&&&&&&&&&&&&&&&&&&&&& //进入prepared状态。&&
&&&&&&&&&&&&&&&&&&& }catch(Exception e){e.printStackTrace();}&
&&&&&&&&&&&&&&&&&&& Toast.makeText(MyActivity.this, &停止播放&, Toast.LENGTH_SHORT).show();&
&&&&&&& }});&
&&&&&&& bAdd.setOnClickListener(new View.OnClickListener() {&&& //音量增大按钮添加监听器&&
&&&&&&&&&&& @Override&
&&&&&&&&&&& public void onClick(View v) {&
&&&&&&&&&&& am.adjustVolume(AudioManager.ADJUST_RAISE, 0);&&&&& //增大音量&&
&&&&&&&&&&& System.out.println(&faaa&);&
&&&&&&&&&&& Toast.makeText(MyActivity.this, &增大音量&, Toast.LENGTH_SHORT).show();&
&&&&&&& }});&
&&&&&&& bReduce.setOnClickListener(new View.OnClickListener() { //音量降低按钮添加监听器&&
&&&&&&&&&&& @Override&
&&&&&&&&&&& public void onClick(View v) {&
&&&&&&&&&&& am.adjustVolume(AudioManager.ADJUST_LOWER, 0);&&&&& //减小音量&&
&&&&&&&&&&& Toast.makeText(MyActivity.this, &减小音量&, Toast.LENGTH_SHORT).show();&
&&&&&&& }});&
package wyf.
import android.app.A&&&//引入相关包
import android.media.AudioM&&//引入相关包
import android.media.MediaP&&//引入相关包
import android.os.B&&&&//引入相关包
import android.view.V&&&&//引入相关包
import android.widget.B&&&//引入相关包
import android.widget.T
public class MyActivity extends Activity {
&&& /** Called when the activity is first created. */
&private Button bP&&&&&//播放按钮
&private Button bP&&&&&//暂停按钮
&private Button bS&&&&&//停止按钮
&private Button bA&&&&&//增大音量
&private Button bR&&&&&//降低音量
&private boolean pauseFlag=&&//暂停标记,true暂停态,false非暂停态
&MediaP&&&&&&&//MediaPlayer引用
&AudioM&&&&&&//AudioManager引用
&&& @Override
&&& public void onCreate(Bundle savedInstanceState) {&//Activity创建时调用
&&&&&&& super.onCreate(savedInstanceState);
&&&&&&& setContentView(R.layout.main);&&&&&//设置Activity的显示内容
&&&&&&& bPlay=(Button)findViewById(R.id.ButtonPlay);&//播放按钮的实例化
&&&&&&& bPause=(Button)findViewById(R.id.ButtonPause);&//暂停按钮的实例化
&&&&&&& bStop=(Button)findViewById(R.id.ButtonStop);&//停止按钮的实例化
&&&&&&& bAdd=(Button)findViewById(R.id.ButtonVAdd);&&//增大音量按钮的实例化
&&&&&&& bReduce&=(Button)findViewById(R.id.ButtonVReduce);//降低音量按钮的实例化
&&&&&&& mp=new MediaPlayer();
&&&&&&& am=(AudioManager) this.getSystemService(this.AUDIO_SERVICE);
&&&&&&& bPlay.setOnClickListener(new View.OnClickListener() {//播放按钮的监听器
&&&@Override
&&&public void onClick(View v) {
&&&&&&&&&& &mp.setDataSource(&/sdcard/music/sound_of_dream_DJ.mp3&);&&//加载音频,进入Initialized状态。
&&&&&&&&&& }catch(Exception e){e.printStackTrace();}
&&&&&&&&&& try{
&&&&&&&&&& &mp.prepare();&&&&&&&//进入prepared状态。
&&&&&&&&&& }catch(Exception e){e.printStackTrace();}
&&&&mp.start();&&&&&&&&&&//播放音乐
&&&&Toast.makeText(MyActivity.this, &播放音乐&, Toast.LENGTH_SHORT).show();
&&&&&&& bPause.setOnClickListener(new View.OnClickListener() {&//暂停按钮添加监听器
&&&@Override
&&&public void onClick(View v) {
&&&&if(mp.isPlaying()){&&&&&&&&//如果是在播放态
&&&&&mp.pause();&&&&&&&&&//调用暂停方法
&&&&&pauseFlag=&&&&&&&&//设置暂停标记
&&&&}else if(pauseFlag){
&&&&&mp.start();&&&&&&&&&//播放音乐
&&&&&pauseFlag=&&&&&&&//设置暂停标记
&&&&Toast.makeText(MyActivity.this, &暂停播放&, Toast.LENGTH_SHORT).show();&
&&&&&&& bStop.setOnClickListener(new View.OnClickListener() {&//停止按钮添加监听器
&&&@Override
&&&public void onClick(View v) {
&&&&mp.stop();&&&&&&&&&&//停止播放
&&&&&&& mp.reset();&&&&&&&&&//重置状态到uninitialized态
&&&&&&& try{
&&&&&&&&&& &mp.setDataSource(&/sdcard/music/sound_of_dream_DJ.mp3&);&&//加载音频,进入Initialized状态。
&&&&&&& }catch(Exception e){e.printStackTrace();}
&&&&&&&&&& try{
&&&&&&&&&& &mp.prepare();&&&&&&&//进入prepared状态。
&&&&&&&&&& }catch(Exception e){e.printStackTrace();}
&&&&&&&&&& Toast.makeText(MyActivity.this, &停止播放&, Toast.LENGTH_SHORT).show();
&&&&&&& bAdd.setOnClickListener(new View.OnClickListener() {&//音量增大按钮添加监听器
&&&@Override
&&&public void onClick(View v) {
&&&am.adjustVolume(AudioManager.ADJUST_RAISE, 0);&&//增大音量
&&&System.out.println(&faaa&);
&&&Toast.makeText(MyActivity.this, &增大音量&, Toast.LENGTH_SHORT).show();
&&&&&&& bReduce.setOnClickListener(new View.OnClickListener() {&//音量降低按钮添加监听器
&&&@Override
&&&public void onClick(View v) {
&&&am.adjustVolume(AudioManager.ADJUST_LOWER, 0);&&//减小音量
&&&Toast.makeText(MyActivity.this, &减小音量&, Toast.LENGTH_SHORT).show();
播放的是SD卡上的& /sdcard/music/sound_of_dream_DJ.mp3 &文件。安卓下载什么音乐播放器可以可以横屏有节奏显示_百度知道
安卓下载什么音乐播放器可以可以横屏有节奏显示
安卓下载什么音乐播放器可以可以横屏有节奏显示
我有更好的答案
QQ音乐都行吧
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。如何让mediaplayer11播放列表显示视频音乐的时间?_百度知道
如何让mediaplayer11播放列表显示视频音乐的时间?
mediaplayer10的播放列表会显示每个文件的时间长度(要播放一下才会显示),并且会计算总时长,很方便,但mediaplayer11不显示了,如何设置让它显示出来?还是根本没法显示出来?
我发现啦!右侧的列表默认是不显示时间的,把列表向左拉让它变宽,就显示出来了。
我有更好的答案
左小角,点一下就出来了
采纳率:27%
为您推荐:
其他类似问题
视频音乐的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。介绍一款手机音乐软件,播放音乐的时候可以显示简谱和歌词~_百度知道
介绍一款手机音乐软件,播放音乐的时候可以显示简谱和歌词~
我有更好的答案
QQ音乐和酷狗都可以显示歌词,简谱好像不能,我也没试过
采纳率:38%
楼主,简谱似乎现在的音乐软件都没有
但我真心推荐用百度音乐,真心不错
不管你是不是vlp,都可以下载最后的音质
qq音乐吧,比较好用,酷狗有点卡
好音质,天天动听
我觉得酷狗就挺好的,我自己就是用酷狗,省电省流量
而且更新挺快的
其他9条回答
为您推荐:
其他类似问题
手机音乐的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。哪个安卓音乐播放器可以在桌面显示歌词?_百度知道
哪个安卓音乐播放器可以在桌面显示歌词?
先说明,我的歌词是通过USB从电脑下载到手机的,在手机下载太费流量了,所以找一个这样的软件,把歌词放播放器的文件里就可以显示的。求高手解答。多谢!
我有更好的答案
天天静听可以。QQ音乐也可以的啊。这两个都可以在桌面显示歌词,滑动调试位置。很方便的。个人很喜欢前者。用着很爽。
采纳率:16%
天天静听,效果不错,可以在桌面显示歌词
为您推荐:
其他类似问题
安卓的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 车载安卓音乐播放器 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信