Godot Engine

Godot Engine

Not enough ratings
[Скрипт] Простой плеер случайной музыки
By [RUS] NeneroG
Простой плеер для проигрывания MP3 в случайном порядке. (Для новичков)
   
Award
Favorite
Favorited
Unfavorite
Плеер и настройка
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.
5) Поставь лайк и закрой руководство.
1 Comments
колбаSSка 11 May @ 3:11pm 
хмм, интересно надо будет попробовать