Recherche avancée

Médias (1)

Mot : - Tags -/ticket

Autres articles (36)

  • La file d’attente de SPIPmotion

    28 novembre 2010, par

    Une 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, par

    Formulaire 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 2011

    Vous 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 H

    This 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 Ivs

    I’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.Z

    This 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 ?