
Recherche avancée
Médias (1)
-
Rennes Emotion Map 2010-11
19 octobre 2011, par
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (39)
-
MediaSPIP version 0.1 Beta
16 avril 2011, parMediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
Mise à jour de la version 0.1 vers 0.2
24 juin 2013, parExplications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...)
Sur d’autres sites (2211)
-
How do I make my Discord Bot play mp3 files, while in a voice Channel ? (FFMPEG problem)
27 mars 2019, par João PimentaI’m trying to make a bot that joins the voice channel, plays a mp3 file from my computer, and leaves the channel afterwards.
It "does" work, joins, leaves, but it doesn’t plays any sound, sometimes it produces static-like noises though, which made me think it is a FFMPEG problem.
I’m on a ubuntu 16.04.
I have tried changing the way I show the function what the path is for my .mp3 file. I came to the conclusion that
('/home/user/djsBot/01.mp3');
is the correct way to do it (the documentation asks for an absolute path), because I thought it wasn’t able to locate my file.I have also tried uninstalling and installing ffmpeg-binaries, same for node-opus, both of which give me moderate vulnerability reports (not sure what this means) and tell to run
npm audit fix
.I’m somewhat new to ubuntu, and a complete beginner on JS and Node.JS, so any tips or clarification are welcome. :)
client.on('message', (msg) => {
if (msg.content === '1') { // user types '1' to play a sound
if (msg.member.voiceChannel) {
msg.member.voiceChannel.join() // bot joins user's channel
.then(connection => {
const dispatcher = connection.playFile('/home/user/djsBot/01.mp3');
dispatcher.on("end", end => {
msg.member.voiceChannel.leave();
});
}).catch(err => {
console.log(err);
});
}
else {
msg.channel.send(`You must be in a Voice Channel for me to talk to you, ${msg.author.username}!`);
}
}
}); -
VoiceClient.play() doesn't play any audio
13 juin 2019, par sickoofer2I am trying to make a music bot in discord.py, but whenever I tried to play audio using VoiceClient.play(), it never played anything, just stayed in the voice channel.
async def play(ctx):
for VoiceClient in client.voice_clients:
if VoiceClient.guild == ctx.guild:
await VoiceClient.play(discord.FFmpegPCMAudio('song.mp3'))
embed = discord.Embed(title=f'⬅ {ctx.author.mention}, I am now playing that song.', color=0x51BDEF)
await ctx.send(embed=embed)There weren’t any error messages either, just doesn’t play anything
-
Discord.py : Access files on the computer of the person who sent a message. Play a song from the local drive of any user on the server
7 avril 2021, par daDibI have a bot that can play music from my computer. Is there a way to play a song from the computer of the person who sent the message ? My thought would be using
message.author
to somehow access the person's session and get into their drive. Here is my bot. It can join a voice channel, create playlists from local file paths, start a playlist or individual file with stop/pause/play/next/previous controls :

import discord
import os.path
import logging
import asyncio
from os import path

global ready 
global vc
global source
global songQueue
global songIndex
global commandList
global stopPlaylist

ready = False
stopPlaylist = False
songQueue = []
songIndex = 0

logger = logging.getLogger('discord')
logger.setLevel(logging.DEBUG)
handler = logging.FileHandler(filename='D:\DnD\DiscordBot\discord.log', encoding='utf-8', mode='w')
handler.setFormatter(logging.Formatter('%(asctime)s:%(levelname)s:%(name)s: %(message)s'))
logger.addHandler(handler)

client = discord.Client()
commands = [
 '!connect\nConnect to a voice channel by channel id. Use !channels to find the desired id.\nExample Command: !connect 827202170973323305\n\n',
 '!channels\nLists all voice channels and their connection id.\n\n',
 '!add\nAdd a file path to the playlist.\nExample Command: !add D:\\DnD\\DiscordBot\\mySong.mp3\n\n',
 '!delete\nDeletes the last song added to the playlist.\n\n',
 '!view\nDisplays the current playlist, in order.\n\n',
 '!playlist\nStarts the playlist from the beginning, or optionally add a number as the start position.\nExample Command: !playlist 3\n\n',
 '!playSong\nPlays a specified file.\nExample Command: !playSong D:\\DnD\\DiscordBot\\mySong.mp3\n\n',
 '!next\nPlays next song in playlist.\n\n',
 '!prev\nPlays previous song in playlist.\n\n',
 '!stop\nStops all music song. Playlist will restart from the beginning.\n\n',
 '!pause\nPauses the current song. Restart with !resumeSong.\n\n',
 '!resume\nResumes the current song.\n\n'
 '!status\nLets you know if the bot thinks it is playing music.'
 ]
commandList=''
for command in commands:
 commandList+=command

@client.event
async def on_ready():
 print('We have logged in as {0.user}'.format(client))

@client.event
async def on_message(message):
 global ready 
 global vc
 global source
 global songQueue
 global songIndex
 global commandList
 global stopPlaylist

 if message.author == client.user:
 return
#!help
 if message.content.startswith('!help'):
 await message.channel.send('{0}'.format(commandList))
 return
#!connect
 if message.content.startswith('!connect'): 
 if ready:
 await message.channel.send('Bot [{0}] is already connected to a voice channel.'.format(client.user))
 return
 channel = int(message.content[9:])
 vc = await client.get_channel(channel).connect()
 ready = True
 await message.channel.send('Bot [{0}] is connecting to voice.'.format(client.user))
 return
#!channels
 if message.content.startswith('!channels'):
 channelList = ''
 for channel in client.get_all_channels():
 if channel.type == discord.ChannelType.voice:
 channelList += 'name: ' + channel.name + '\n'
 channelList += 'id: ' + str(channel.id) + '\n\n'
 await message.channel.send('{0}'.format(channelList))
 return
#!add
 if message.content.startswith('!add'):
 song = message.content[5:]
 if not path.exists(song):
 await message.channel.send('Song not found or invalid path specified.\nSpecified Path: {0}\nExample command: !addSong C:\\Users\\Public\\Music\\mySong.mp3'.format(song))
 return
 songQueue.append(song)
 await message.channel.send('Song added: {0}\nCurrent playist length: {1} song(s)'.format(song,len(songQueue)))
 return
#!delete
 if message.content.startswith('!delete'):
 if len(songQueue) == 0:
 await message.channel.send('Playlist is empty. Use !addSong, !viewList, and !playList to manage playlists.')
 return
 await message.channel.send('Removed song: {0}'.format(songQueue.pop()))
 return
#!view
 if message.content.startswith('!view'):
 if len(songQueue) == 0:
 await message.channel.send('Playlist is empty. Use !addSong, !deleteSong, and !playList to manage playlists.')
 return
 await message.channel.send('Current Playlist:\n{0}'.format('\n'.join(songQueue)))
 return
#play commands
 if message.content.startswith('!play'):
 if not ready:
 await message.channel.send('Bot [{0}] is not connected to a voice channel.'.format(client.user))
 return
#!playlist 
 if message.content.startswith('!playlist'):
 try:
 songIndex = int(message.content[10:]) - 1
 if songIndex >= len(songQueue):
 songIndex = len(songQueue) - 1
 except:
 pass 
 playSong()
 return
#!playSong
 if message.content.startswith('!playSong'):
 song = message.content[10:]
 if not path.exists(song):
 await message.channel.send('Song not found or invalid path specified.\nSpecified Path: {0}\nExample command: !play C:\\Users\\Public\\Music\\mySong.mp3'.format(song))
 return
 source = discord.FFmpegPCMAudio(song)
 vc.play(source, after=None)
 await message.channel.send('Playing song: {0}'.format(song))
 return
#!next
 if message.content.startswith('!next'):
 vc.stop()
#!prev
 if message.content.startswith('!prev'):
 songIndex -= 2
 if songIndex < -1:
 songIndex = -1
 vc.stop()
#!stop
 if message.content.startswith('!stop'):
 if not ready:
 await message.channel.send('Bot [{0}] is not connected to a voice channel.'.format(client.user))
 return
 vc.stop()
 songIndex = 0
 stopPlaylist = True
 await message.channel.send('Stopping music.')
 return
#!pause
 if message.content.startswith('!pause'):
 if not ready:
 await message.channel.send('Bot [{0}] is not connected to a voice channel.'.format(client.user))
 return
 vc.pause()
 await message.channel.send('Pausing music.')
 return
#!resume
 if message.content.startswith('!resume'):
 if not ready:
 await message.channel.send('Bot [{0}] is not connected to a voice channel.'.format(client.user))
 return
 vc.resume()
 await message.channel.send('Resuming music.')
 return
#!status
 if message.content.startswith('!status'):
 if not ready:
 await message.channel.send('Bot [{0}] is not connected to a voice channel.'.format(client.user))
 return
 if vc.is_playing():
 await message.channel.send('Something is playing.')
 return
 await message.channel.send('Nothing is playing.')
 return

def playSong():
 global songQueue
 global songIndex
 global vc
 try:
 song = songQueue[songIndex]
 source = discord.FFmpegPCMAudio(song)
 vc.play(source, after=nextSong)
 except Exception as e:
 print('playSong error {0}'.format(e))

def nextSong(error):
 global songQueue
 global songIndex
 global stopPlaylist
 try:
 songIndex += 1
 if songIndex >= len(songQueue):
 stopPlaylist = True
 if stopPlaylist:
 songIndex = 0
 stopPlaylist = False
 return
 futureFunction = asyncio.run_coroutine_threadsafe(playSong(), client.loop)
 futureFunction.result()
 except Exception as e:
 print('nextSong error {0}'.format(e))

#@client.event
#async def on_logout(user)
# global ready
# if user == client.user:
# ready = False

client.run('TOKEN')