Recherche avancée

Médias (2)

Mot : - Tags -/doc2img

Autres articles (65)

  • 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 (...)

  • 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

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

Sur d’autres sites (9363)

  • Evolution #3238 : API éditer objet / fonction objet_inserer : associer l’auteur *avant* l’appel du...

    20 juillet 2014, par marcimat ☺☮☯♫

    Hum. Je ne suis pas certain que la liaison avec l’auteur doit être faite avant de passer par post_insertion.

    Par contre, si vraiment dans ton plugin tu veux faire une action qui dépend d’une autorisation, tu peux utiliser autoriser_exceptions.

    Exemple :

    <br />// créer l'auteur en suivant l'API pour que les pipelines s'activent<br />include_spip('action/editer_auteur');<br />$id_auteur = insert_auteur();<br />autoriser_exception('modifier', 'auteur', $id_auteur);<br />auteurs_set($id_auteur, array(<br />        "nom"    =>  $nom,<br />        "statut" => "1comite" <br />));<br />autoriser_exception('modifier', 'auteur', $id_auteur, false);<br />

  • Anomalie #4423 (Nouveau) : plantage de la fonction upgrade_logo_objet() lors de la mise à jour d’u...

    7 janvier 2020, par cy_altern -

    la mise à jour de la BDD d’un SPIP 3.2 ayant le plugin spip-logo-svg activé (https://contrib.spip.net/logo-svg) plante avec le message :

    MAJ 24351 .
    Fatal error :  Uncaught Error : Call to undefined function logo_migrer_en_base() 
    ligne 711 maj/svn10000.php
    


    cette fonction est fournie par le fichier ecrire/action/editer_logo.php inclu à la ligne précédente :

    include_spip(’action/editer_logo’) ;
    


    mais puisque le plugin logo-svg fourni lui-aussi un fichier action/editer_logo.php c’est celui-ci qui est inclu.
    Vu qu’il n’a pas la fonction logo_migrer_en_base() cela provoque le plantage.

    NB1 : Tcharlss fait remarquer que même si le plugin logo-svg n’est pas compatible 3.2, cette surcharge est "jouée" parce que la 3.3 est en statut "dev".
    NB2 : Marcimat note que ce problème risque de se poser aussi pour 3 autres plugins ayant un fichier editer_logo.php :
    - Roles Documents
    - Logos roles
    - lister_logos

    Patch testé OK :
    appeler précisément le fichier du core avec la modification suivante ligne 709 de ecrire/maj/svn10000.php

    include_spip(’ecrire/action/editer_logo’) ;
    
  • FFMPEG(?) Error : [out#0/s16le @ 000002452f906a00] Output file does not contain any stream

    11 mars 2024, par Ondosh
    FFMPEG_OPTIONS = {&#xA;    &#x27;before_options&#x27;: &#x27;-reconnect 1 -reconnect_streamed 1 -reconnect_delay_max 5&#x27;,&#xA;    &#x27;options&#x27;: &#x27;-vn&#x27;}&#xA;YDL_OPTIONS = {&#xA;    &#x27;format&#x27;: &#x27;bestaudio/best&#x27;,&#xA;    &#x27;extractaudio&#x27;: True,&#xA;    &#x27;noplaylist&#x27;: True,&#xA;    &#x27;simulate&#x27;: &#x27;True&#x27;,&#xA;    &#x27;preferredquality&#x27;: &#x27;192&#x27;,&#xA;    &#x27;preferredcodec&#x27;: &#x27;mp3&#x27;,&#xA;    &#x27;key&#x27;: &#x27;FFmpegExtractAudio&#x27;}&#xA;@bot.command(aliases=[&#x27;Ping&#x27;, &#x27;PING&#x27;, &#x27;Пинг&#x27;, &#x27;ПИНГ&#x27;, &#x27;зштп&#x27;, &#x27;ЗШТП&#x27;, &#x27;Зштп&#x27;,&#xA;                      &#x27;пинг&#x27;])&#xA;async def ping(ctx):&#xA;    await ctx.message.reply(f&#x27;Ping: {round(bot.latency * 1000)}ms&#x27;)&#xA;#########################[PLAY MUSIC BLOCK]#########################&#xA;@bot.command()&#xA;async def add(ctx, *url):&#xA;    url = &#x27; &#x27;.join(url)&#xA;    with yt_dlp.YoutubeDL(YDL_OPTIONS) as ydl:&#xA;        try:&#xA;            info = ydl.extract_info(url, download=False)&#xA;        except:&#xA;            info = ydl.extract_info(f"ytsearch:{url}",&#xA;                                    download=False)[&#x27;entries&#x27;][0]&#xA;&#xA;    URL = info[&#x27;formats&#x27;][0][&#x27;url&#x27;]&#xA;    name = info[&#x27;title&#x27;]&#xA;    time = str(datetime.timedelta(seconds=info[&#x27;duration&#x27;]))&#xA;    songs_queue.q_add([name, time, URL])&#xA;    embed = nextcord.Embed(description=f&#x27;Записываю [{name}]({url}) в очередь &#128221;&#x27;,&#xA;                           colour=nextcord.Colour.red())&#xA;    await ctx.message.reply(embed=embed)&#xA;def step_and_remove(voice_client):&#xA;    if loop_flag:&#xA;        songs_queue.q_add(songs_queue.get_value()[0])&#xA;    songs_queue.q_remove()&#xA;    audio_player_task(voice_client)&#xA;def audio_player_task(voice_client):&#xA;    if not voice_client.is_playing() and songs_queue.get_value():&#xA;        voice_client.play(nextcord.FFmpegPCMAudio(&#xA;            executable="ffmpeg\\bin\\ffmpeg.exe",&#xA;            source=songs_queue.get_value()[0][2],&#xA;            **FFMPEG_OPTIONS),&#xA;            after=lambda e: step_and_remove(voice_client))&#xA;@bot.command(aliases=[&#x27;Play&#x27;, &#x27;PLAY&#x27;, &#x27;играй&#x27;, &#x27;ИГРАЙ&#x27;, &#x27;Играй&#x27;, &#x27;сыграй&#x27;,&#xA;                      &#x27;Сыграй&#x27;, &#x27;СЫГРАЙ&#x27;, &#x27;здфн&#x27;, &#x27;Здфн&#x27;, &#x27;ЗДФН&#x27;, &#x27;p&#x27;, &#x27;P&#x27;,&#xA;                      &#x27;pl&#x27;, &#x27;PL&#x27;, &#x27;Pl&#x27;, &#x27;Плей&#x27;,&#xA;                      &#x27;ПЛЕЙ&#x27;, &#x27;плей&#x27;])&#xA;async def play(ctx, *url):&#xA;    await join(ctx)&#xA;    await add(ctx, &#x27; &#x27;.join(url))&#xA;    await ctx.message.add_reaction(emoji=&#x27;&#127928;&#x27;)&#xA;    voice_client = ctx.guild.voice_client&#xA;    audio_player_task(voice_client)&#xA;@bot.command(aliases=[&#x27;Queue&#x27;, &#x27;QUEUE&#x27;, &#x27;йгугу&#x27;, &#x27;Йгугу&#x27;, &#x27;ЙГУГУ&#x27;, &#x27;очередь&#x27;,&#xA;                      &#x27;Очередь&#x27;, &#x27;ОЧЕРЕДЬ&#x27;, &#x27;список&#x27;, &#x27;Список&#x27;, &#x27;СПИСОК&#x27;,&#xA;                      &#x27;list&#x27;, &#x27;List&#x27;, &#x27;LIST&#x27;, &#x27;дшые&#x27;, &#x27;Дшые&#x27;, &#x27;ДШЫЕ&#x27;, &#x27;Лист&#x27;,&#xA;                      &#x27;лист&#x27;, &#x27;ЛИСТ&#x27;, &#x27;песни&#x27;, &#x27;Песни&#x27;, &#x27;ПЕСНИ&#x27;, &#x27;songs&#x27;,&#xA;                      &#x27;Songs&#x27;, &#x27;SONGS&#x27;, &#x27;ыщтпы&#x27;, &#x27;ЫЩТПЫ&#x27;, &#x27;Ыщтпы&#x27;, &#x27;q&#x27;])&#xA;async def queue(ctx):&#xA;    if len(songs_queue.get_value()) > 0:&#xA;        only_names_and_time_queue = []&#xA;        for i in songs_queue.get_value():&#xA;            name = i[0]&#xA;            if len(i[0]) > 30:&#xA;                name = i[0][:30] &#x2B; &#x27;...&#x27;&#xA;            only_names_and_time_queue.append(f&#x27;&#128192; `{name:&lt;33}   {i[1]:>20}`\n&#x27;)&#xA;        c = 0&#xA;        queue_of_queues = []&#xA;        while c &lt; len(only_names_and_time_queue):&#xA;            queue_of_queues.append(only_names_and_time_queue[c:c &#x2B; 10])&#xA;            c &#x2B;= 10&#xA;&#xA;        embed = nextcord.Embed(title=f&#x27;ОЧЕРЕДЬ [LOOP: {loop_flag}]&#x27;,&#xA;                               description=&#x27;&#x27;.join(queue_of_queues[0]),&#xA;                               colour=nextcord.Colour.red())&#xA;        await ctx.send(embed=embed)&#xA;&#xA;        for i in range(1, len(queue_of_queues)):&#xA;            embed = nextcord.Embed(description=&#x27;&#x27;.join(queue_of_queues[i]),&#xA;                                   colour=nextcord.Colour.red())&#xA;            await ctx.send(embed=embed)&#xA;    else:&#xA;        await ctx.send(&#x27;Очередь пуста&#x27;)&#xA;

    &#xA;

    There is the part of my music bot in Discord, I don't really know why it doesn't work. Actually, I tried to use someone's old code, so it needs to be fixed. I have cut out the most important parts of the code, which most likely had an error.&#xA;I found other questions, but there was another errors.&#xA;After trying to start the video, I get the following errors :&#xA;[out#0/s16le @ 000002452f906a00] Output file does not contain any stream&#xA;Error opening output file pipe:1.&#xA;Error opening output files : Invalid argument

    &#xA;