自动发帖软件
标题:
用AiWork如何写出一个一个播放器呢?
[打印本页]
作者:
发帖软件
时间:
昨天 09:11
标题:
用AiWork如何写出一个一个播放器呢?
用AiWork如何写出一个一个播放器呢?
QQ截图20250114090421.png
(57.89 KB, 下载次数: 0)
昨天 09:10
上传
用软件可以写出一个简易的播放器,专门听歌甚至占用内存极少,极度容易的播放器例子。
传到手机只需要播放就可以了。这个如果您希望从一个MP3列表中逐个播放文件,
您可以先创建一个包含所有MP3文件路径的数组,
然后使用循环或递归的方式来遍历并播放这些文件。这里是一个示例代码,展示了如何实现这一功能:
这段代码首先定义了一个mp3List数组,
包含了您想要播放的MP3文件路径。当点击播放按钮时,
它会调用playNext函数尝试播放当前索引指向的MP3文件。
如果播放完毕或者播放出错,则自动处理下一个文件,
直到列表播放完毕。同时,为MediaPlayer添加了一个完成监听器,
确保在一首歌播放结束后自动切换到下一首。
作者:
发帖软件
时间:
昨天 09:11
importClass(android.media.MediaPlayer);
importClass(android.media.AudioManager);
importClass(java.io.File);
importClass(android.widget.Toast);
var mediaPlayer = new MediaPlayer();
var mp3List = ["/sdcard/Pictures/1.mp3", "/sdcard/Music/2.mp3", "/sdcard/Audio/3.mp3"]; // MP3文件列表
var currentIndex = 0; // 当前播放的文件索引
var ac = new activity();
ac.loadSXML(`
<vertical>
<button text="播放" id="play"/>
<button text="停止" id="stop"/>
<text id="status" text="准备播放..."/>
</vertical>`);
function playNext() {
if (currentIndex < mp3List.length) {
var mp3 = mp3List[currentIndex];
if (file.isFile(mp3)) {
try {
mediaPlayer.reset(); // 重置MediaPlayer以防止之前的播放状态影响新文件
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(mp3);
mediaPlayer.prepare();
mediaPlayer.start();
ac.findViewById("status").setText("正在播放: " + mp3);
currentIndex++;
} catch (e) {
Toast.makeText(ac, "错误: " + e.message, Toast.LENGTH_SHORT).show();
ac.findViewById("status").setText("错误: " + mp3 + " 播放失败");
}
} else {
Toast.makeText(ac, "错误: 文件 " + mp3 + " 不存在", Toast.LENGTH_SHORT).show();
ac.findViewById("status").setText("错误: 文件 " + mp3 + " 不存在");
}
} else {
Toast.makeText(ac, "播放结束", Toast.LENGTH_SHORT).show();
ac.findViewById("status").setText("播放结束");
mediaPlayer.stop();
mediaPlayer.release(); // 释放资源
currentIndex = 0; // 重置索引以便重新开始播放
}
}
ac.findViewById("play").setOnClickListener(() => {
Toast.makeText(ac, "播放", Toast.LENGTH_SHORT).show();
playNext(); // 开始播放第一个或下一个文件
});
ac.findViewById("stop").setOnClickListener(() => {
Toast.makeText(ac, "停止", Toast.LENGTH_SHORT).show();
mediaPlayer.stop();
mediaPlayer.release(); // 释放资源
ac.findViewById("status").setText("播放停止");
currentIndex = 0; // 停止后重置播放索引
});
// 添加一个监听器来自动播放下一首
mediaPlayer.setOnCompletionListener(function() {
playNext(); // 当前歌曲播放完毕后自动播放下一首
});
复制代码
作者:
发帖软件
时间:
昨天 09:11
导入必要的类:MediaPlayer用于播放音频文件,AudioManager用于设置音频流类型,File用于处理文件系统路径。
创建MediaPlayer实例:用于控制音频播放。
定义MP3文件列表:mp3List是一个数组,包含了要播放的MP3文件路径。
定义当前播放的文件索引:currentIndex用于跟踪当前正在播放的文件在列表中的位置。
创建活动窗口:包含播放和停止按钮。
播放按钮点击事件:调用playNext函数开始播放音乐。
停止按钮点击事件:调用mediaPlayer.stop()停止播放,并将currentIndex重置为0。
歌曲播放完成监听器:设置OnCompletionListener,当一首歌曲播放完毕后,自动调用playNext播放下一首歌曲。
欢迎光临 自动发帖软件 (http://www.fatiegongju.com/)
Powered by Discuz! X3.2