Найти - Пользователи
Полная версия: Воспроизвести аудио файл
Начало » Python для новичков » Воспроизвести аудио файл
1 2 3
py.user.next
Simka
Но при попытке использовать получаю сообщение об ошибке : модуль not defined.
Попробуй такой код
  
import playsound
playsound.playsound('file.mp3')

А вообще, там ошибки могут быть, так как это всё слеплено на коленке
https://pypi.org/project/playsound/
https://github.com/TaylorSMarks/playsound/blob/master/playsound.py

Так что в плане ошибки кодировки попробуй взять mp3-файл без кириллицы где-либо в имени или тегах этого файла.
Simka
AD0DE412
чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url
Видите ли, я делал через Яндекс-диск, но у меня почему-то выскакивает 404. Вот и пришлось просто те же url просто в текст сообщения вставлять. Попробую разобраться.
FishHook
Simka
Видите ли, я делал через Яндекс-диск, но у меня почему-то выскакивает 404. Вот и пришлось просто те же url просто в текст сообщения вставлять. Попробую разобраться.
Вы еще и со скобками напутали и все ваше сообщение превратилось в ссылку на вконтакт
AD0DE412
ну если верить этому
 import winsound
f = r"C:\путь_к файлу\1.wav"
winsound.PlaySound(f, winsound.SND_FILENAME)
Simka
Есть еще такой модуль: winsound.
Воспроизводит только wav, мне этого в принципе достаточно.
Есть у модуля функция - подача звукового сигнала заданной частоты и длительности. Код:
 import winsound
winsound.Beep(1000, 100)
Проверил - работает.
Но далее сложность. Чтобы воспроизвести файл .wav, используется код:
 import winsound
filename = 'myfile.wav'
winsound.PlaySound(filename, winsound. SND_FILENAME)
Не разберусь, как модуль находит файл, как определяет путь к нему.
К примеру путь и имя файла:Этот компьютер\Музыка\Gorodnicky\Pamjati_Kurska.wav
Как правильно записать команду для этого файла? Я понял, что наименование файла следует записать во второй строке кода, то есть вместо ‘myfile.wav’ записать ‘Pamjati_Kurska.wav’. Но как Пайтон его отыщет? Может, нужно куда-то в его папку складывать wav - файлы?

Вот попытался применить код для воспроизведения аудиофайла.
 import winsound
filename = 'Gorodnicky Kursk.wav'
winsound.PlaySound(filename, winsound.SND_FILENAME)
Результат:
1. IDLE - ошибки не выдал, но сыграл звук, который Windows выдает при неправильных действиях.
2. консоль Пайтона - аналогично, ошибки не выдает
3. PyCharm - пишет Process finished with exit code 0

Какую ошибку я опять допустил?
Заранее спасибо!
AD0DE412
Simka
Этот компьютер\Музыка\Gorodnicky\Pamjati_Kurska.wav
таких путей не существует (ну не совсем но … короче не пользуйтесь такими путями … пока)
пользуйтест примерно такими
'диск:\\каталог\\каталог\\файл'
или
r'диск:\каталог\каталог\файл'
или
'диск:/каталог/каталог/файл'

Simka
Спасибо!
Я попытался ввести путь как выдает поиск винды и использовать такой код:
 import winsound
winsound.PlaySound('C:\Users\Konstantin.T430\Music\Music\Kursk Gorodnicky\Gorodnicky Kursk.wav', winsound.SND_FILENAME)

Пайтон отвечает:
SyntaxError
(unicode error) ‘unicodeescape’ codec can't decode in position 2-3: truncated\UXXXXXXXX escape

В-общем, я уже выпадаю в осадок…похоже, задача озвучки в пайтоне мне не по зубам


Simka
Вот как эта функция описана в одном пособии по Пайтону:

С функцией PlaySound можно воспроизводить звуковые файлы в формате .wav.
В функцию передаются два параметра: «имя файла» и флаг — winsound.SND_FILENAME,
который необходим APIинтерфейсу платформы для обращения к выходному файлу.

Пример :
import winsound   
print('музыка.wav')
# winsound.PlaySound ('имя файла', флаг)
winsound.PlaySound('музыка.vaw', winsound.SND_FILENAME)
 [/code]
Флаги :
SND_FILENAME Обращение к файлу формата .wav
SND_LOOP Воспроизведение звука несколько раз
SND_ASYNC Асинхронное воспроизведение звука


То-есть в коде просто вставлено имя файла…Может, Пайтон использует поисковую систему Виндоуз? Но у меня и такой вариант не сработал!
doza_and
Simka
похоже, задача озвучки в пайтоне мне не по зубам
Это не задача озвучки. Вы просто пути неправильно задаете, не хватает понимания как со строками работа идет.
Simka
Я попытался ввести путь как выдает поиск винды
И это барабанная дробь… неправильно. Обратные слеши в питоне означают экранирование символов. Или r“…” пишите или двойные слеши “c:\\asd\\asd” или поменяйте слеши “c:/asd/asd” или пользуйтесь поиском не в винде а в питоне см модуль pathlib
Simka
doza_and
Вы просто пути неправильно задаете
Спасибо за рекомендации по слешам! Исправил на двойные слеши. Не учел, что для Пайтона введенный мною путь по его синтаксису - строка.Больше не ругается.Запишу в памятку.
Но файл не воспроизводит.
И вот какая штука - везде, где нашел описание функции ( например https://docs.python.org/2/library/winsound.html ), указано как параметр только имя файла, а не путь к нему…А с именем не срабатывает. Может, winsound с 3.8.0 не работает?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB