注册 登录
发贴工具
查看: 15|回复: 2
打印 上一主题 下一主题

[24小时收录超级好的网站] 用AiWork如何写出一个一个播放器呢?

  [复制链接]

2207

主题

2254

帖子

1万

积分

积分
13435
跳转到指定楼层
楼主
用AiWork如何写出一个一个播放器呢?
用AiWork如何写出一个一个播放器呢? 群发软件发帖工具

用软件可以写出一个简易的播放器,专门听歌甚至占用内存极少,极度容易的播放器例子。

传到手机只需要播放就可以了。这个如果您希望从一个MP3列表中逐个播放文件,

您可以先创建一个包含所有MP3文件路径的数组,

然后使用循环或递归的方式来遍历并播放这些文件。这里是一个示例代码,展示了如何实现这一功能:



这段代码首先定义了一个mp3List数组,

包含了您想要播放的MP3文件路径。当点击播放按钮时,

它会调用playNext函数尝试播放当前索引指向的MP3文件。

如果播放完毕或者播放出错,则自动处理下一个文件,

直到列表播放完毕。同时,为MediaPlayer添加了一个完成监听器,

确保在一首歌播放结束后自动切换到下一首。

unto蓝奏云-文件下载(2.8.9版本)nextnocontent
回复

使用道具 举报

发贴工具

2207

主题

2254

帖子

1万

积分

积分
13435
沙发
 楼主| 发帖软件 发表于 14 小时前 | 只看该作者
  1. importClass(android.media.MediaPlayer);
  2. importClass(android.media.AudioManager);
  3. importClass(java.io.File);
  4. importClass(android.widget.Toast);

  5. var mediaPlayer = new MediaPlayer();
  6. var mp3List = ["/sdcard/Pictures/1.mp3", "/sdcard/Music/2.mp3", "/sdcard/Audio/3.mp3"]; // MP3文件列表
  7. var currentIndex = 0; // 当前播放的文件索引
  8. var ac = new activity();

  9. ac.loadSXML(`
  10.     <vertical>
  11.         <button text="播放" id="play"/>
  12.         <button text="停止" id="stop"/>
  13.         <text id="status" text="准备播放..."/>
  14.     </vertical>`);

  15. function playNext() {
  16.     if (currentIndex < mp3List.length) {
  17.         var mp3 = mp3List[currentIndex];
  18.         if (file.isFile(mp3)) {
  19.             try {
  20.                 mediaPlayer.reset(); // 重置MediaPlayer以防止之前的播放状态影响新文件
  21.                 mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
  22.                 mediaPlayer.setDataSource(mp3);
  23.                 mediaPlayer.prepare();
  24.                 mediaPlayer.start();
  25.                 ac.findViewById("status").setText("正在播放: " + mp3);
  26.                 currentIndex++;
  27.             } catch (e) {
  28.                 Toast.makeText(ac, "错误: " + e.message, Toast.LENGTH_SHORT).show();
  29.                 ac.findViewById("status").setText("错误: " + mp3 + " 播放失败");
  30.             }
  31.         } else {
  32.             Toast.makeText(ac, "错误: 文件 " + mp3 + " 不存在", Toast.LENGTH_SHORT).show();
  33.             ac.findViewById("status").setText("错误: 文件 " + mp3 + " 不存在");
  34.         }
  35.     } else {
  36.         Toast.makeText(ac, "播放结束", Toast.LENGTH_SHORT).show();
  37.         ac.findViewById("status").setText("播放结束");
  38.         mediaPlayer.stop();
  39.         mediaPlayer.release(); // 释放资源
  40.         currentIndex = 0; // 重置索引以便重新开始播放
  41.     }
  42. }

  43. ac.findViewById("play").setOnClickListener(() => {
  44.     Toast.makeText(ac, "播放", Toast.LENGTH_SHORT).show();
  45.     playNext(); // 开始播放第一个或下一个文件
  46. });

  47. ac.findViewById("stop").setOnClickListener(() => {
  48.     Toast.makeText(ac, "停止", Toast.LENGTH_SHORT).show();
  49.     mediaPlayer.stop();
  50.     mediaPlayer.release(); // 释放资源
  51.     ac.findViewById("status").setText("播放停止");
  52.     currentIndex = 0; // 停止后重置播放索引
  53. });

  54. // 添加一个监听器来自动播放下一首
  55. mediaPlayer.setOnCompletionListener(function() {
  56.     playNext(); // 当前歌曲播放完毕后自动播放下一首
  57. });
复制代码

回复 支持 反对

使用道具 举报

2207

主题

2254

帖子

1万

积分

积分
13435
板凳
 楼主| 发帖软件 发表于 14 小时前 | 只看该作者

导入必要的类:MediaPlayer用于播放音频文件,AudioManager用于设置音频流类型,File用于处理文件系统路径。

创建MediaPlayer实例:用于控制音频播放。

定义MP3文件列表:mp3List是一个数组,包含了要播放的MP3文件路径。

定义当前播放的文件索引:currentIndex用于跟踪当前正在播放的文件在列表中的位置。

创建活动窗口:包含播放和停止按钮。

播放按钮点击事件:调用playNext函数开始播放音乐。

停止按钮点击事件:调用mediaPlayer.stop()停止播放,并将currentIndex重置为0。

歌曲播放完成监听器:设置OnCompletionListener,当一首歌曲播放完毕后,自动调用playNext播放下一首歌曲。

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关导读了
    采集亚马逊正版群发工具有没有?
    Apr.20旅行X心语今天来说说YYPOST新功能的一个灵活用法,采集亚马逊商品信息,并且获得排名的软件,亚马逊现在越来越多客户做,淘宝的水是越来越清了,以前做电商的客户,现在都转战到外国,最赚钱的要数一些客户往亚马逊里堆了吧,拿我这个YYPOST的客户,最多的是采集,分析排名,刷价格,刷数量,改价,刷访问量等等技术

    企业发展B2B网站有什么东东软件可以发呢
    标题企业发展网B2B软件,现在虽然B2B网站收录不错,可愁的是心急的人们,他们太想一口吃撑胖子了,发帖宣传虽然不能像佛系那样淡定,但也不能像跑火车那般急躁对待,自己内容不收录,完全是自己操作内容问题,可以参考一下别人的内容是怎么弄的,然后自己要试着转变,而且收录这个内容,常常会变化的,不是一种规则就吃到老

    搜房天下房聊软件哪一个好呢
    本帖最后由 发帖软件 于 2019-5-22 16:15 编辑 2搜房天下群发房聊信息软件,开始本来打算做58同城的,但发一个就要一次点触验证码,这就让人没有感觉到存在的价值了吧,都是卖二手房和新房的搜房天下倒是可以发即时聊天信息,也没有发现他这个网站有啥子限制,登陆一个搜房天下账号,然后采集回来分类列表的网址,然后就一

    大家坛有没有好用的群发工具下载呢
    当你的笑容给我礼貌的招呼,大家坛全自动发帖软件,宣传推广是一场持久战,总是有一些人把软件用了一天,或是几个小时,就觉得自己付出太多了,那加进来的粉丝,或是流量,应该是和宣传多少成正比的,其实没有这么便宜的事,就像很多阅读量超过一百万的视频,或是电影,真正会在屏幕打赏的人不会超过三千,真正大额打赏给主

    群发正版软件中国塑料网
    中国塑料网群发软件YYPOST脚本下载地址,这个网站会有一个很奇怪的问题就是你在首页登陆无半个验证码,但在登陆网址登陆就会有一个验证码,所以我们灵活一些,在首页登陆就不用输入验证码了哈。网站秒收录比较高,但发的都是五金和建筑行业,先前有很多人都是发土建工程的大公司操作的,现在这个网站专为那个行业诞生的吧。

    OpenStreetMap网站正版2019年发帖工具下载
    本帖最后由 发帖软件 于 2019-5-21 11:13 编辑 OpenStreetMap网站全自动群发,OpenStreetMapOpenStreetMap(简称OSM,中文是公开地图)是一个网上地图协作计划,目标是创造一个内容自由且能让所有人编辑的世界地图。有的人编辑地图然后等收录,有的人发日志等收录,我们这里也是利用地图日志做为宣传的目标,简单的脚本理

    搜房天下全自动收短信全自动识别验证码注册账号软件
    房天下自动注册机,这个脚本是前几天发房聊的脚本廷伸品种,这个脚本能做到自动注册账号,自动保存账号,自动发房聊的效果,不过今天我们主要说一说怎么注册账号写脚本吧,这个搜房天天下的账号,可以发提问,可以发房聊,发论坛,发博客,还有发个人中心页都是有秒收的效果的,这样就省去了去买号,去乱花钱的效果了吧,而

    企业邮箱安卓端有什么APP软件可以发的呢
    请输入标题企业邮箱安卓发发送邮箱脚本,这个脚本是利用企业邮箱进行群发的,全程是一种模拟手工操作的过程,所以封号是很少的,而且企业邮箱群发到普通QQ邮箱不容易进垃圾箱中的,所以这个脚本也是这样的原理,不过最好是利用一些多开器,登陆多点的QQ邮箱账号会比较流畅一些,然后用软件一个一个的切换APP进行群发邮件会

    头条留评论软件有没有好用的呢?
    今天整一个今日头条留言软件,对于留言YYPOST是优势是比较大的存在,因为他往往专注一些下拉定位的优点,像今日头条这样,还是需要一些特殊下拉定位的,因为他新闻有长有短,有图有视频的,所以综合起来定位是比较难的,如果用POST也不是很轻松可以破解他的加密参数。这个脚本也是有一个不好的地方就是换号会比较麻烦,您电

    单网页生成神器
    最近新技术,网页生成机占领了整个网络的半壁江山,效果很疯狂,虽然不知道能持续多久,作为开发软件的领头者,一直在找收录的方法,一直在努力创新着,一直被人模仿,却从没有被超越过,这个网页生成机,已经出来有一段时间了,一直没有拿出来分享,醉过醉过,它是利用的一些小小收录漏洞整的,您最好用一些老站域名,进行

关闭
快速回复 返回列表 返回顶部
本站自动发贴软件,是现在最流行的做脚本软件,这种发贴工具,不但发贴收录快,而且抢占好的先机,完全自由编辑,实现针对性群发模拟操作,软件可以顶贴,也可以发贴,可以兼容支持Discuz、PHPWind、Dvbbs三大主流论坛,有手机验证码收件,邮件收发的功能,支持验证码识别,注册问题识别,多线程任务,自动上传头像,自动激活注册邮件,兼容防注册插件,本站软件原创正版,更新效率最快的原创软件。 『网络推广软件』『自动发帖软件』『 自动发帖