
Recherche avancée
Autres articles (83)
-
Use, discuss, criticize
13 avril 2011, parTalk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
A discussion list is available for all exchanges between users. -
Demande de création d’un canal
12 mars 2010, parEn fonction de la configuration de la plateforme, l’utilisateur peu avoir à sa disposition deux méthodes différentes de demande de création de canal. La première est au moment de son inscription, la seconde, après son inscription en remplissant un formulaire de demande.
Les deux manières demandent les mêmes choses fonctionnent à peu près de la même manière, le futur utilisateur doit remplir une série de champ de formulaire permettant tout d’abord aux administrateurs d’avoir des informations quant à (...) -
Le profil des utilisateurs
12 avril 2011, parChaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)
Sur d’autres sites (13055)
-
Emulate radio stream metadata
17 juin 2018, par IllidanS4I work with an application that can connect to an audio stream via HTTP and play the audio. It can also connect to SHOUTcast and Icecast radios and play the streams, but for some radios, when the format is supported, it can read special metadata as well, like the name of the current song.
I would like to use ffmpeg to produce an MP3 stream that contains the specific metadata this application understands. I know it is probably something specific to SHOUTcast or Icecast and not to the format itself, but I don’t know what exactly it is that the application can decode.
If ffmpeg cannot produce such a stream (possibly because it is part of the HTTP metadata), I would welcome any details on how the metadata is encoded and how can I generate it (in PHP for example).
-
How to delete mp3 file after the bot played it
8 mars 2021, par EckigerLucaI am trying to create a music bot and now I want the bot to delete the current playing song after it finished playing. There's my code :


import asyncio

import os
import discord
from discord.embeds import Embed
from discord.file import File
from discord.player import AudioPlayer
from youtube_dl.utils import smuggle_url, update_url_query
from youtube_search import YoutubeSearch
import discord
from discord.ext.commands import bot
import youtube_dl
from discord.ext import commands
from youtube_dl import YoutubeDL

youtube_dl.utils.bug_reports_message = lambda: ''

ytdl_format_options = {
 'format': 'bestaudio/best',
 'outtmpl': '/music_files/%(id)s.mp3',
 'restrictfilenames': True,
 'noplaylist': True,
 'nocheckcertificate': True,
 'ignoreerrors': False,
 'logtostderr': False,
 'quiet': True,
 'no_warnings': True,
 'default_search': 'auto',
 'source_address': '0.0.0.0' 
}

ffmpeg_options = {
 'options': '-vn'
}

ytdl = youtube_dl.YoutubeDL(ytdl_format_options)


class YTDLSource(discord.PCMVolumeTransformer):
 def __init__(self, source: discord.FFmpegPCMAudio, *, data: dict, volume=0.5):
 super().__init__(source, volume)

 self.data = data

 self.title = data.get('title')
 self.thumbnail = data.get('thumbnail')
 self.url = data.get('webpage_url')
 self.uploader = data.get('uploader')
 self.uploader_url = data.get('uploader_url')

 @classmethod
 async def from_url(cls, url, *, loop=None, stream=False):
 loop = loop or asyncio.get_event_loop()
 data = await loop.run_in_executor(None, lambda: ytdl.extract_info(url, download=not stream))

 if 'entries' in data:
 # take first item from a playlist
 data = data['entries'][0]

 filename = data['url'] if stream else ytdl.prepare_filename(data)
 return cls(discord.FFmpegPCMAudio(filename, **ffmpeg_options), data=data)

class Music(commands.Cog):
 def __init__(self, bot):
 self.bot = bot


 @commands.command()
 async def play(self, ctx, *, url):
 global player
 """Plays from a url (almost anything youtube_dl supports)"""
 async with ctx.typing():
 player = await YTDLSource.from_url(url, loop=self.bot.loop)
 ctx.voice_client.play(player, after=lambda e: print('Player error: %s' % e) if e else None)

 await ctx.send("Started playing!")
 @play.before_invoke
 async def ensure_voice(self, ctx):
 if ctx.voice_client is None:
 if ctx.author.voice:
 await ctx.author.voice.channel.connect()
 else:
 await ctx.send("You are not connected to a voice channel.")
 raise commands.CommandError("Author not connected to a voice channel.")
 elif ctx.voice_client.is_playing():
 ctx.voice_client.stop()

def setup(client):
 client.add_cog(Music(client))



It's saving the files to a folder called "music_files" with the format videoid.mp3
I noticed that it's logging something in the cmd when
logging.basicConfig(level=logging.INFO)
is added to the main.py file under the imports, is there maybe a way to use it ?

Note : The code is a modified version of basic_voice.py by Rapptz.


Edit : I found a way :


folder = './music_files'
 for song in os.listdir(folder):
 file_path = os.path.join(folder, song)
 try:
 if os.path.isfile(file_path) or os.path.islink(file_path):
 os.unlink(file_path)
 elif os.path.isdir(file_path):
 shutil.rmtree(file_path)
 except Exception as e:
 print('Failed to delete %s. Reason %s' % (file_path, e))



-
android - how to play two audio file at same time
29 janvier 2016, par Sajad NorouziI wanna create an karaoke android app. so far, user can listen to the song and record his voice. now I want to let user some editing like setting volume of his voice or setting Reverb effect. I have some library like ffmpeg and sox on android and don’t have problem for mixing two audio, but for setting volume or Reverb wanna play two audio file simultaneously using mediaplayer, however it’s not possible because android doesn’t let us play two audio file with mediaplayer at same time even with two different object of mediaplayer. so, what is the solution ?