Recherche avancée

Médias (33)

Mot : - Tags -/creative commons

Autres articles (58)

  • XMP PHP

    13 mai 2011, par

    Dixit Wikipedia, XMP signifie :
    Extensible Metadata Platform ou XMP est un format de métadonnées basé sur XML utilisé dans les applications PDF, de photographie et de graphisme. Il a été lancé par Adobe Systems en avril 2001 en étant intégré à la version 5.0 d’Adobe Acrobat.
    Étant basé sur XML, il gère un ensemble de tags dynamiques pour l’utilisation dans le cadre du Web sémantique.
    XMP permet d’enregistrer sous forme d’un document XML des informations relatives à un fichier : titre, auteur, historique (...)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

Sur d’autres sites (4862)

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