Discord ffmpegpcmaudio как получить время проигрывания

от admin

Discord.py воспроизвести музыку от конкретного момента времени

Как можно сделать воспроизведение аудио-файла от конкретной временной точки?

Мне это нужно для реализации бегунка перемотки времени, как в обычных музыкальных программах

Пока что я сделал это через динамическое обрезание аудио-файла во временный файл:

Однако такой способ наверняка не единственный, а так же он очень затратный — если аудио-файл большой, обработка будет очень долгой

Как еще можно сделать?

Позицию надо устанавливать как опцию к CLI-инструментарию ffmpeg в параметре options или before_options , когда создаем класс FFmpegPCMAudio

Для больших файлов, конечно, подвисает, но уже гораздо лучше и быстрее

Андрей Григорьев's user avatar

Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.3.11.43304

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Как создать очередь проигрывания музыки для дискорд бота?

fenrir1121

Описать такие функции как плейлист, очередь, завершение воспроизведения, переключение трека, очистка очереди, добавление в очередь.

Так же стоит использовать объектный подход, поскольку плеер должен по-разному работать при различных состояниях (пустая очередь, есть очередь и на паузе, есть очередь и играет) и работать с такой лестницей условий как в коде выше просто неудобно.

Discord ffmpegpcmaudio как получить время проигрывания

Как заставить моего бота discord.py воспроизводить mp3 в голосовом канале?

Python Discord Bot: Play Music and Send Gifs

In this tutorial, we’ll make a Python Discord bot that can play music in the voice channels and send GIFs. Discord is an instant messaging and digital distribution platform designed for creating communities. Users can easily enter chat rooms, initiate video calls, and create multiple groups for messaging friends.

We’ll skip the basics and jump straight over to the music playing. Check out this Medium article to catch up on the basics of setting up your bot. In the end, our Python Discord bot will look like the cover image of this article!

Before we dive in: remember to allow Administrator permissions for the bot.

Thanks to Rohan Krishna Ullas, who wrote this guest tutorial! Make sure to check out his Medium profile for more articles from him. If you want to write for Python Land too, please contact us.

Table of contents

Part 1: Importing all the libraries

First, create a virtual environment and install the requirements:

Next, let’s set up the .env file for our project. Create a .env file so that we can separate the environment configuration variables (these are variables whose values are set outside the program) from the main code:

Then use Python import to load all the needed modules in the main file app.py :

The module youtube_dl is an open-source download manager for video and audio content from YouTube and other video hosting websites.

Now we need to set intents for our bot. Intents allow a bot to subscribe to specific buckets of events, allowing developers to choose which events the bot listens to and to which it doesn’t. For example, sometimes we want the bot to listen to only messages and nothing else.

Part 2: Using youtube_dl to download audio

The next step in building our Python Discord bot is dealing with the part that actually downloads the audio file from the video link we provide. Please note that this bo is just a demonstration. It’s not illegal to download from YouTube for personal use according to this article, but it might be against the YouTube Terms Of Service. Please be sensible and use this for personal use only.

The from_url() method of YTDLSource class takes in the URL as a parameter and returns the filename of the audio file which gets downloaded. You can read the youtube_dl documentation at their GitHub repository.

Part 3: Adding commands to the Python Discord bot

Now let’s add the join() method to tell the bot to join the voice channel and the leave() method to tell the bot to disconnect:

Here we first check if the user who wants to play music has already joined the voice channel or not. If not, we tell the user to join first.

Awesome! Give yourself a pat on the back if you’ve reached this far! You’re doing great. In the next step, we’ll add the following methods:

  • play()
  • pause()
  • resume()
  • stop()

At this point, we need to have the ffmpeg binary in the base directory. It can be downloaded from https://ffmpeg.org/. In this case, I used the exe since I’m using a Windows machine.

Part 4: Running the Python Discord bot locally

Add the final piece of code to start the bot and it’s done:

To deploy the bot locally, activate the virtual environment and run the app.py file:

Bonus: send GIFs on start-up and print server details

In this bonus section, we will set up our bot to listen to events such as start-up. This example sends a previously downloaded GIF image to the text channel when the bot is activated:

To print server details such as owner name, the number of users, and a server id, we can add a bot command ‘where_am_i’:

This is what this will look like:

Printing server details — Image by author

You can view and clone the complete results from my Discord-Bot GitHub Repository.

That’s it! We made a Python Discord bot. Thank you for reading, and don’t hesitate to leave a reply or ask your questions in the comments section.

Related posts you might like

Python Courses

Are you enjoying this free tutorial? Please also have a look at my premium courses. They offer a superior user experience with small, easy-to-digest lessons and topics, progress tracking, quizzes to test your knowledge, and practice sessions. Each course will earn you a downloadable course certificate.

Python Fundamentals I is a course for beginners that will get you started with Python in no time. Learn all the essentials, test your progress with quizzes and assignments, and bring it all together with the final course project!

Методы трансляции музыки в Discord

Как включить музыку в Дискорде

Добавление музыкального бота для трансляции музыки на сервер в Discord на компьютере

  1. Откройте «Пуск» и перейдите в «Параметры». Открытие меню Параметры для настройки трансляции музыки в Discord при помощи стандартного стерео микшера
  2. Нажмите по первой плитке с названием «Система». Открытие раздела Система для настройки трансляции музыки в Discord при помощи стандартного стерео микшера
  3. Через панель слева перейдите к разделу «Звук». Переход в категорию Звук для настройки трансляции музыки в Discord при помощи стандартного стерео микшера
  4. Опуститесь к блоку «Сопутствующие параметры» и щелкните по строке «Панель управления звуком». Открытие панели управления звуком для настройки трансляции музыки в Discord при помощи стандартного стерео микшера

Lumpics.ru

Настройка плеера для воспроизведения музыки на сервере в Discord через стерео микшер

Выбор браузера и сайта для трансляции музыки на сервер в Discord через стерео микшер

Шаг 3: Настройка Discord и воспроизведение музыки
  1. Откройте программу и перейдите в настройки учетной записи. Переход к настройкам учетной записи для настройки трансляции музыки в Discord через стерео микшер
  2. В блоке «Настройки приложения» выберите раздел «Голос и видео». Открытие параметров голоса и видео для настройки трансляции музыки в Discord через стерео микшер
  3. Разверните список «Устройство ввода» и найдите там пункт «Стерео микшер». Выбор стерео микшера при настройке Discord для трансляции музыки через это устройство
  4. Заранее можно отрегулировать громкость, выкрутив ее на полную, поскольку обычно ее не хватает. Настройка громкости стерео микшера при редактировании параметров Discord перед воспроизведением музыки
  5. Перейдите к серверу и подключитесь к необходимому голосовому каналу. Подключение к голосовому каналу для трансляции музыки в Discord через стерео микшер
  6. Сразу же можно запустить воспроизведение любого трека и проверить, появляется ли обводка вокруг аватарки, свидетельствующая о захвате звука. Проверка подключения к голосовому каналу для трансляции музыки в Discord через стерео микшер
  7. По желанию снова откройте тот же раздел с настройками и запустите проверку микрофона. Колебания должны соответствовать ритму музыки, что и поможет убедиться в нормальном ее захвате. Использование функции проверки воспроизведения для трансляции музыки в Discord через стерео микшер
  1. Снова вызовите «Параметры» и раздел «Система», выберите «Звук» и перейдите в «Панель управления звуком». Открытие панели управления звуком для устранения проблем с трансляцией музыки в Discord при помощи стерео микшера
  2. Переместитесь на вкладку «Запись» и сделайте двойной клик по «Стерео микшеру». Переход к свойствам стерео микшера для регулировки его громкости во время трансляции музыки в Discord
  3. На вкладке «Уровни» находится ползунок, отвечающий за громкость устройства, соответственно, его можно выкрутить сильнее или уменьшить по необходимости. Регулировка громкости стерео микшера для решения проблем с трансляцией музыки в Discord
  4. Откройте раздел «Голос и видео» в настройках Дискорда и используйте ползунок «Громкость микрофона» для регулировки громкости. Регулировка громкости стерео микшера в Discord для решения проблем с трансляцией музыки
  5. Если же звук захватывается прерывисто или вообще не воспроизводится, убедитесь в том, что в качестве режима ввода выбран вариант «Активация по голосу». Включение функции активации микрофона по голосу для трансляции музыки в Discord через стерео микшер
  6. Ниже находится функция «Автоматически определять чувствительность микрофона», которую необходимо отключить. Отключение автоматического определения чувствительности микрофона для трансляции музыки в Discord через стерео микшер
  7. Передвиньте ползунок чувствительности на уровень воспроизведения музыки, который можно определить по динамической полоске, появляющейся во время трансляции трека. Регулировка чувствительности микрофона для трансляции музыки в Discord через стерео микшер
Читать:
Virtual hid device что это

Проверка трансляции музыки на сервере в Discord при помощи стерео микшера

Способ 3: Использование Virtual Audio Cable

Шаг 1: Загрузка и установка VAC
  1. Воспользуйтесь ссылкой выше для перехода на официальный сайт программы, где нажмите кнопку «Download». Переход к скачиванию программы Virtual Audio Cable для трансляции музыки в Discord
  2. Если скачивание не началось, попробуйте альтернативный метод загрузки, используя кнопки, расположенные немного ниже. По завершении скачивания запустите полученный исполняемый файл. Выбор альтернативного варианта скачивания программы Virtual Audio Cable для трансляции музыки в Discord
  3. Подтвердите начало установки Virtual Audio Cable в Windows. Уведомление о начале установки программы Virtual Audio Cable для трансляции музыки в Discord
  4. Для перехода к следующему этапу примите условия лицензионного соглашения. Подтверждение лицензионного соглашения для установки программы Virtual Audio Cable для трансляции музыки в Discord
  5. Выберите место на компьютере для расположения файлов софта и запустите инсталляцию. Выбор места и запуск установки программы Virtual Audio Cable для трансляции музыки в Discord
Шаг 2: Настройка виртуальных устройств VAC
  1. Вызовите «Пуск» и перейдите в «Параметры». Переход в Параметры при настройке программы Virtual Audio Cable для трансляции музыки в Discord
  2. Выберите раздел «Система». Открытие раздела Система при настройке программы Virtual Audio Cable для трансляции музыки в Discord
  3. В нем перейдите в «Звук» и найдите строку «Панель управления звуком». Переход к панели управления звуком для настройки программы Virtual Audio Cable для трансляции музыки в Discord
  4. Сразу же появится необходимая вкладка — «Воспроизведение», где найдите виртуальное устройство «Line 1», убедитесь в том, что оно включено и используется по умолчанию. Проверка виртуального устройства воспроизведения Virtual Audio Cable для трансляции музыки в Discord
  5. То же самое сделайте и с микрофоном на вкладке «Запись». Проверка виртуального устройства захвата Virtual Audio Cable для трансляции музыки в Discord
  6. Если понадобится, откройте контекстное меню нажатием ПКМ по необходимой строке, где и можно выбрать включение и использование устройства в качестве по умолчанию. Включение и установка виртуальных устройств по умолчанию для Virtual Audio Cable для трансляции музыки в Discord
Шаг 3: Изменение параметров Discord
  1. Через главное окно программы перейдите в настройки учетной записи. Переход в настройки программы для выбора Virtual Audio Cable для трансляции музыки в Discord
  2. Откройте раздел «Голос и видео», который находится в блоке «Настройки приложения». Открытие раздела голос и видео при выборе программы Virtual Audio Cable для трансляции музыки в Discord
  3. В качестве устройства ввода выберите «Line 1». Выбор виртуальных устройств Virtual Audio Cable для трансляции музыки в Discord
  4. Сначала выкрутите громкость на полную — потом можно будет вернуться в это меню для ее регулировки. Настройка громкости виртуальных устройств Virtual Audio Cable для трансляции музыки в Discord
  5. В качестве режима ввода обязательно используйте «Активацию по голосу». Выбор варианта активации микрофона по голосу при настройке Virtual Audio Cable для трансляции музыки в Discord
  6. Отключите автоматическое определение чувствительности и переместите ползунок практически на минимальный уровень, обеспечив захват всех звуковых частот трека. Установка чувствительности микрофона при активации по голосу Virtual Audio Cable для трансляции музыки в Discord
  7. Сразу можно выбрать один из голосовых каналов для подключения. Подключение к голосовому каналу после настройки Virtual Audio Cable для трансляции музыки в Discord
  8. Отображение вашего профиля в голосовом канале свидетельствует об успешном подключении. Проверка подключения к голосовому каналу после настройки Virtual Audio Cable для трансляции музыки в Discord
  1. Запустите выбранный софт и откройте его меню. Открытие меню музыкального плеера при настройке Virtual Audio Cable для трансляции музыки в Discord
  2. Через него перейдите в общие настройки. Обычно за это отвечает еще и стандартная горячая клавиша Ctrl + P. Переход в настройки музыкального плеера для выбора Virtual Audio Cable для трансляции музыки в Discord
  3. Найдите раздел «Воспроизведение» или «Параметры воспроизведения», где разверните список с доступными устройствами. Открытие раздела выбора устройства воспроизведения в музыкальном плеере при настройке Virtual Audio Cable для трансляции музыки в Discord
  4. Отыщите там добавленный динамик «Line 1» и установите его основным. Выбор виртуального устройства Virtual Audio Cable для трансляции музыки в Discord при настройке плеера
  5. Начните воспроизведение выбранной композиции. Воспроизведение музыки в плеере после настройки Virtual Audio Cable для трансляции музыки в Discord
  6. Вернитесь в Discord и убедитесь в том, что микрофон захватывает транслируемый трек. Проверка работы Virtual Audio Cable для трансляции музыки в Discord после подключения к голосовому каналу
  7. По необходимости громкость можно изменить прямо в плеере или настройках Дискорда. Регулировка громкости в плеере при использовании Virtual Audio Cable для трансляции музыки в Discord
  1. Нажмите по названию сервера и через выпадающее меню перейдите в его настройки. Переход в настройки канала для редактирования права использования режима активации по голосу в Discord на компьютере
  2. Откройте раздел «Роли». Открытие раздела Роли для редактирования права использования режима активации по голосу в Discord на компьютере
  3. Выберите роль для редактирования или создайте новую. Выбор роли для настройки права использования режима активации по голосу в Discord на компьютере
  4. Опуститесь к блоку с правами для голосовых каналов и найдите там «Использовать режим активации по голосу». Теперь вы можете отключить или активировать его в зависимости от личных потребностей. Настройка права использования режима активации по голосу для выбранной роли в Discord на компьютере
  5. Вернитесь к предыдущему меню, но на этот раз откройте раздел «Участники». Укажите пользователя для присвоения настроенной роли. Выбор участника для присвоения ему роли с настройкой права использования режима активации по голосу в Discord на компьютере
  6. Найдите ее в списке, выдайте участнику и сделайте то же самое с остальными юзерами, которые должны попасть под новое правило сервера. Выбор роли для участника при настройке права использования режима активации по голосу в Discord
  1. Откройте свой сервер и нажмите по его названию для отображения меню. Переход в меню сервера для настройки права использования режима активации по голосу в мобильном приложении Discord
  2. Перейдите в «Настройки». Открытие настроек сервера для редактирования права использования режима активации по голосу в мобильном приложении Discord
  3. Найдите там раздел «Роли», находящийся в блоке «Управление участниками». Переход к списку ролей для редактирования права использования режима активации по голосу в мобильном приложении Discord
  4. Выберите роль для редактирования права на использование режима активации по голосу. Выбор роли для редактирования права использования режима активации по голосу в мобильном приложении Discord
  5. Просмотрите список доступных прав и найдите необходимое. Снимите или активируйте галочку для внесения соответствующих изменений. Выбор права использования режима активации по голосу в мобильном приложении Discord
  6. Вернитесь к главному разделу с настройками сервера и выберите «Участники». Переход к списку участников для присвоения роли использования режима активации по голосу в мобильном приложении Discord
  7. Найдите пользователя для присвоения ему новой роли. Выбор участника для присвоения ему роли с правом использования режима активации по голосу в мобильном приложении Discord
  8. Отметьте маркером новый статус, редактирование которого осуществлялось ранее. Выбор роли для участника с правом использования режима активации микрофона по голосу в мобильном приложении Discord
  1. Наведите курсор на голосовой канал и кликните по появившемуся значку шестеренки. Открытие настроек канала для настройки режима активации по голосу в Discord на компьютере
  2. В окне с настройками перейдите в раздел «Права доступа». Переход к правам канала для настройки режима активации по голосу в Discord на компьютере
  3. Добавьте участника или роль, к которой будут относиться особые права текущего канала. Выбор роли или участника для настройки права активации по голосу на канале в Discord на компьютере
  4. В списке разрешений найдите «Использовать режим активации по голосу». Если поставить галочку, он будет доступен. Косая черта означает синхронизацию с параметрами роли. Настройка права использования режима активации по голосу на канале в Discord на компьютере
  1. Сделайте долгий тап по голосовому каналу, который хотите настроить. Выбор канала для настройки права на использование режима активации по голосу в мобильном приложении Discord
  2. Появится окно «Параметры канала», в котором перейдите в «Права доступа». Переход к списку прав для настройки режима активации по голосу на канале в мобильном приложении Discord
  3. Добавьте роль или конкретного участника для настройки. Открытие списка участников или ролей для настройки права на использование режима активации по голосу в мобильном приложении Discord
  4. В отобразившемся списке осуществите свой выбор или используйте функцию быстрого поиска. Выбор участника для настройки права на использование режима активации по голосу на канале в мобильном приложении Discord
  5. Найдите право «Использовать режим активации по голосу» и решите, хотите ли вы его отключить или сделать активным. Настройка права на использование режима активации по голосу на канале в мобильном приложении Discord

Как мне заставить моего бота Discord оставаться в голосовом канале в течение определенного времени определенного mp3-файла?

Я разрабатывал бота для своего личного сервера Discord, и до сих пор он воспроизводил mp3-файлы заданной длины, поэтому я говорю боту спать на определенное время, в зависимости от того, как долго длится mp3. Теперь, с моей новой командой, будут воспроизводиться mp3-файлы разной длины, и я не уверен, что делать дальше. Вы можете увидеть в моем коде, как я заставляю его спать, но это больше не будет работать, так как mp3 могут быть очень длинными или очень короткими. Я пытаюсь найти способ получить информацию о mp3 через python и передать ему спать на время mp3. Может ли кто-нибудь помочь мне в этом или указать в правильном направлении? Спасибо.

Раньше я пытался использовать команду типа vc.wait, но бот продолжал присоединяться, а затем сразу же уходил. Команда сна отлично работала для моих прошлых применений, поэтому я просто использовал ее.

Я ничего не жду, однако я надеюсь найти некоторую помощь или толчок в правильном направлении, чтобы определить длину mp3 на месте и соответствующим образом скорректировать время, затрачиваемое ботом на голосовой канал. Спасибо. Извините, мой код такой неаккуратный, это просто личный проект, и я никогда не ожидал, что кто-то его увидит.

Похожие статьи