[脚本] 随机音乐播放器

0 点赞
Godot Engine
转载

简单的 MP3 随机播放播放器(适用于新手) 播放器及设置 1) 创建一个 AudioStreamPlayer 子节点。(为方便起见,可以添加到 WorldEnvironment 节点下) 2) 右键点击 -> 附加脚本 -> 创建一个新脚本,并保存在您方便的位置 3) 在脚本中插入以下代码: extends AudioStreamPlayer @export var music_folder = "res://Music/" # 音乐文件夹 var audio_player: AudioStreamPlayer var available_tracks = [] var current_track_index = -1 func _ready(): randomize() audio_player = AudioStreamPlayer.new() add_child(audio_player) audio_player.volume_db = volume_db load_tracks() play_random_track() audio_player.finished.connect(_on_track_finished) func load_tracks(): var dir = DirAccess.open(music_folder) if dir: dir.list_dir_begin() var file_name = dir.get_next() while file_name != "": if not dir.current_is_dir() and file_name.ends_with(".mp3"): available_tracks.append(music_folder + file_name) file_name = dir.get_next() func play_random_track(): if available_tracks.size() == 0: return var new_index = current_track_index while available_tracks.size() > 1 and new_index == current_track_index: new_index = randi() % available_tracks.size() current_track_index = new_index var track_path = available_tracks[current_track_index] audio_player.stream = load(track_path) audio_player.play() func _on_track_finished(): play_random_track() func pause_music(): audio_player.stream_paused = true func resume_music(): audio_player.stream_paused = false func stop_music(): audio_player.stop() func set_volume(new_volume_db: float): audio_player.volume_db = new_volume_db 4) 我在脚本中强调了需要您指定MP3音乐文件夹的位置。