
Recherche avancée
Médias (1)
-
Bug de détection d’ogg
22 mars 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Video
Autres articles (36)
-
La file d’attente de SPIPmotion
28 novembre 2010, parUne file d’attente stockée dans la base de donnée
Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...) -
Personnaliser les catégories
21 juin 2013, parFormulaire de création d’une catégorie
Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
On peut modifier ce formulaire dans la partie :
Administration > Configuration des masques de formulaire.
Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...) -
Participer à sa traduction
10 avril 2011Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
Actuellement MediaSPIP n’est disponible qu’en français et (...)
Sur d’autres sites (7302)
-
Discord.py music bot doesn't play next song in queue
10 mai 2019, par Lewis HThis is my code for the bot I’m trying to create, it plays the music fine.
ytdl_options = {
'format': 'bestaudio/best',
'restrictfilenames': True,
'noplaylist': True,
'nocheckcertificate': True,
'quiet':True,
'ignoreerrors': False,
'logtostderr': False,
'no_warnings': True,
'default_search': 'auto',
'source_address': '0.0.0.0' # using ipv4 since ipv6 addresses causes issues sometimes
}
# ffmpeg options
ffmpeg_options= {
'options': '-vn'
}
@bot.command()
async def play(ctx, url:str = None):
queue = {}
channel = ctx.author.voice.channel
if ctx.voice_client is not None:
await ctx.voice_client.move_to(channel)
elif ctx.author.voice and ctx.author.voice.channel:
await channel.connect()
if not url:
await ctx.send("Try adding a URL. e.g. !play https://youtube.com/watch?v=XXXXXXXXX")
if ctx.voice_client is not None:
vc = ctx.voice_client #vc = voice client, retrieving it
ytdl = youtube_dl.YoutubeDL(ytdl_options)
loop = asyncio.get_event_loop()
data = await loop.run_in_executor(None, lambda: ytdl.extract_info(url))
if 'entries' in data:
data = data['entries'][0]
svr_id = ctx.guild.id
if svr_id in queue:
queue[svr_id].append(data)
else:
queue[svr_id] = [data]
await ctx.send(data.get('title') + " added to queue")
source = ytdl.prepare_filename(queue[svr_id][0])
def pop_queue():
if queue[svr_id] != []:
queue[svr_id].pop(0)
data = queue[svr_id][0]
else:
vc.stop()
if not vc.is_playing():
vc.play(discord.FFmpegPCMAudio(source, **ffmpeg_options), after=lambda: pop_queue())The next song downloads and queues it fine, but once the first song finishes, it doesn’t play the next one. I can’t figure out how to make it play after the first song has commenced. I have the
after=
set to remove the top item of the queue, but how do I get it to play again ? Thanks -
Discord.js music bot : TypeError : this.inputMedia.pipe is not a function
7 août 2019, par IvsI’m writing a music Discord bot using Discord.js. The bot uses ytdl-core, node-opus, and I have installed ffmpeg on my OS (Ubuntu 19.04). When I try to make the bot join a voice channel and start playing a YouTube URL, it throws the following error :
TypeError: this.inputMedia.pipe is not a function
at FfmpegProcess.connectStream (/home/ivan/.../node_modules/discord.js/node_modules/prism-media/src/transcoders/ffmpeg/FfmpegProcess.js:73:21)
at new FfmpegProcess (/home/ivan/.../node_modules/discord.js/node_modules/prism-media/src/transcoders/ffmpeg/FfmpegProcess.js:28:14)
at FfmpegTranscoder.transcode (/home/ivan/.../node_modules/discord.js/node_modules/prism-media/src/transcoders/ffmpeg/Ffmpeg.js:34:18)
at MediaTranscoder.transcode (/home/ivan/.../node_modules/discord.js/node_modules/prism-media/src/transcoders/MediaTranscoder.js:27:31)
at Prism.transcode (/home/ivan/.../node_modules/discord.js/node_modules/prism-media/src/Prism.js:13:28)
at AudioPlayer.playUnknownStream (/home/ivan/.../node_modules/discord.js/src/client/voice/player/AudioPlayer.js:97:35)
at VoiceConnection.playStream (/home/ivan/.../node_modules/discord.js/src/client/voice/VoiceConnection.js:478:24)
at voiceChannel.join.then.connection (/home/ivan/.../commands/play.js:32:47)
at process._tickCallback (internal/process/next_tick.js:68:7)Here is my code :
const ytdl = require("ytdl-core");
exports.run = (client, message, args, config) => {
return new Promise((resolve, reject) => {
if (args.length !== 1) {
message.channel.send("Play command takes 1 YouTube link.");
reject("Wrong number of arguments");
return;
}
const voiceChannel = message.member.voiceChannel;
if(!voiceChannel) {
message.channel.send("You need to connect to a voice channel first");
reject("Not connected to voice channel");
return;
}
const perms = voiceChannel.permissionsFor(message.client.user);
if (!perms.has("CONNECT")) {
message.channel.send("You need to add the 'connect' permission for this bot");
reject("NO CONNECT PERMISSION");
return;
}
if (!perms.has("SPEAK")) {
message.channel.send("You need to add the 'speak' permission for this bot");
reject("NO SPEAK PERMISSION");
return;
}
const streamOptions = { seek: 0, volume: 1, passes: 2 };
voiceChannel.join()
.then(connection => {
const stream = ytdl(args[0], {filter: 'audioonly'});
const dispatcher = connection.playStream(ytdl, streamOptions);
dispatcher.on("end", reason => {
console.log("reason: " + reason);
voiceChannel.leave();
})
dispatcher.on("error", err => {
console.log(err);
})
})
.catch(err => console.log(err));
});
}I have tried reinstalling ffmpeg, node and npm, discord.js and node-opus. I have the newest version of Discord.js installed, and ffmpeg version 4.1.3-0ubuntu1. Anyone have any suggestions ?
Thanks.
-
Discord.js : How to play music stream from http?
28 septembre 2019, par Maxim.ZThis is my code :
if (msg.content.includes('*stream')) {
var name=(msg.content).slice(8,80);
if (msg.member.voiceChannel) {
msg.member.voiceChannel.join()
.then(connection => {
console.log(name);
const dispatcher = connection.playFile(name);
dispatcher.setVolume(0.5);
})
.catch(console.log);
} else {
msg.reply('Enter channel first');
}
}When I write in Discord
*stream https://play.sas-media.ru/play
, the console shows the full link (https://play.sas-media.ru/play
), the bot enters the voice channel, but nothing else happens.What am I doing wrong ?