来来来,我让豆包给我生成了一个简易音频播放器。

5 末日來領3號 1天前 143次点击

我给豆包说。给我生成一个音频播放器。然后在我的各种要求下,他真的生成出来了。然后我让他把所有的代码都给我报出来。因为那个时候我开着深度思考着呢。给他的要求比较大。然后他下面的代码直接变成了。好的,这是完整的手机音频播放器代码(基于Kivy框架,可打包为Android/iOS应用),包含所有功能实现,你可以直接复制使用:

from kivy.app import App

from kivy.uix.boxlayout import BoxLayout

from kivy.uix.button import Button

from kivy.uix.label import Label

from kivy.core.audio import SoundLoader

from kivy.config import Config

from kivy.uix.popup import Popup

import os

# 配置窗口默认大小(适配手机屏幕比例)

Config.set('graphics', 'width', '400')

Config.set('graphics', 'height', '600')

Config.set('input', 'mouse', 'mouse,multitouch_on_demand') # 支持触屏模拟

class AudioPlayer(BoxLayout):

def __init__(self, **kwargs):

super().__init__(** kwargs)

self.orientation = 'vertical' # 垂直布局

self.padding = 20 # 内边距

self.spacing = 15 # 控件间距

# 当前播放的音频对象和状态

self.current_sound = None

self.is_playing = False

self.current_file = None

# 标题标签

self.title_label = Label(

text="手机音频播放器",

font_size=24,

size_hint_y=None, # 高度固定

height=50,

halign='center' # 文字居中

)

self.add_widget(self.title_label)

# 当前文件显示标签

self.file_label = Label(

text="未选择音频文件",

size_hint_y=None,

height=40,

halign='center'

)

self.add_widget(self.file_label)

# 控制按钮布局(水平排列)

self.buttons_layout = BoxLayout(

orientation='horizontal',

size_hint_y=None,

height=60,

spacing=10

)

# 选择文件按钮

self.select_btn = Button(

text="选择文件",

background_color=(0.2, 0.6, 1, 1) # 蓝色

)

self.select_btn.bind(on_press=self.show_file_chooser) # 绑定点击事件

self.buttons_layout.add_widget(self.select_btn)

# 播放按钮

self.play_btn = Button(

text="播放",

background_color=(0.3, 0.8, 0.3, 1) # 绿色

)

self.play_btn.bind(on_press=self.play_audio)

self.buttons_layout.add_widget(self.play_btn)

# 暂停按钮

self.pause_btn = Button(

text="暂停",

background_color=(0.9, 0.7, 0.2, 1) # 黄色

)

self.pause_btn.bind(on_press=self.pause_audio)

self.buttons_layout.add_widget(self.pause_btn)

# 停止按钮

self.stop_btn = Button(

text="停止",

background_color=(0.9, 0.3, 0.3, 1) # 红色

)

self.stop_btn.bind(on_press=self.stop_audio)

self.buttons_layout.add_widget(self.stop_btn)

self.add_widget(self.buttons_layout)

# 底部占位布局(让界面更均衡)

self.add_widget(BoxLayout())

def show_file_chooser(self, instance):

"""显示文件选择器弹窗"""

# 创建文件选择器(只显示音频文件)

self.file_chooser = FileChooserListView(

path=os.path.expanduser("~"), # 从用户根目录开始

filters=['*.mp3', '*.wav', '*.ogg'] # 支持的音频格式

)

# 确认选择按钮

select_file_btn = Button(text="确认选择", size_hint_y=None, height=50)

select_file_btn.bind(on_press=self.select_audio_file)

# 弹窗内容布局

popup_layout = BoxLayout(orientation='vertical')

popup_layout.add_widget(self.file_chooser)

popup_layout.add_widget(select_file_btn)

# 创建并显示弹窗

self.file_popup = Popup(

title="选择音频文件",

content=popup_layout,

size_hint=(0.9, 0.8) # 占屏幕90%宽,80%高

)

self.file_popup.open()

def select_audio_file(self, instance):

"""确认选择的音频文件"""

if self.file_chooser.selection: # 如果有选中文件

self.current_file = self.file_chooser.selection[0] # 获取选中的文件路径

# 显示文件名(只显示文件名,不显示完整路径)

self.file_label.text = f"当前文件:{os.path.basename(self.current_file)}"

self.file_popup.dismiss() # 关闭弹窗

def play_audio(self, instance):

"""播放音频"""

if self.current_file: # 如果已选择文件

# 停止当前播放(如果有)

if self.current_sound:

self.current_sound.stop()

# 加载音频文件

self.current_sound = SoundLoader.load(self.current_file)

if self.current_sound: # 加载成功

self.current_sound.play() # 播放

self.is_playing = True

def pause_audio(self, instance):

"""暂停/继续播放(Kivy的Sound无原生pause,用stop模拟简单暂停)"""

if self.current_sound:

if self.is_playing:

self.current_sound.stop() # 暂停(实际是停止,简单处理)

self.is_playing = False

else:

self.current_sound.play() # 继续播放

self.is_playing = True

def stop_audio(self, instance):

"""停止播放"""

if self.current_sound:

self.current_sound.stop()

self.is_playing = False

class AudioPlayerApp(App):

"""应用入口类"""

def build(self):

return AudioPlayer() # 返回主界面

if __name__ == '__main__':

# 运行应用

AudioPlayerApp().run()

 

说明:

1. 这段代码是完整可运行的,包含所有核心功能(选择文件、播放、暂停、停止)。

2. 运行前需安装依赖: pip install kivy (安装Kivy框架)。

3. 电脑上运行时,可直接双击  .py  文件或用命令  python 文件名.py  启动,测试界面和功能。

4. 如需打包为手机应用,按之前提到的Buildozer步骤操作即可。

如果运行中遇到任何问题(比如报错、功能异常),随时告诉我具体情况,我来帮你调试~

好家伙。豆包这个深度思考,我也不知道准不准。反正这一大串的代码,直接把我的脑子整蒙了。我不敢相信豆包,居然有这么大的能力。

反正整体来说豆包,还是把这个代码给我生成了。Ha.

共 9 条评论
末日來領3號 [楼主] 1天前
0 

好家伙。直接把我的手机干报废。也不知道哪个大神,能帮我把这个代码生成成一个手机应用。然后还有一个更牛逼的。我让他把这个代码生成成APK文件。但是。谁知道他居然对我说?这个软件有毒无法上传。我的天,你有毒,你还给我升成干嘛?这豆包直接把我的脑子干报废。

末日來領3號 [楼主] 1天前
0 

我也不知道能不能用。啊啊啊啊啊

现目前国内好像没有哪个人工智能能帮你将代码直接打包成软件的吧
0 

你试一下网页转印录

抱歉,您使用的方法不对,你应该说请用html生成一个音频播放器要求如下。
请让他生成HTML5这样可以保证成功
我生存的都可以正常的运行和播放,除了不能打包
0 

这个不是Python的一个框架吗?我听说过,但是我不会用。

0 

据说可以打包成APK,但是我不会用。还是老老实实用Java吧,或者是html

添加一条新评论

登录后可以发表评论 去登录