Recherche avancée

Médias (91)

Autres articles (67)

Sur d’autres sites (5482)

  • FFmpeg doesn't play audio, yet no error shown

    4 août 2023, par Kristupas

    So i'm learning Python and don't know much about FFmpeg. I am following a tutorial, which explains everything very clearly. Everything is working, with one exception. Whenever I try to get it to play a sound, it won't.. Here's what it is saying :

    


    INFO     discord.player ffmpeg process 2540 successfully terminated with return code of 1.

    


    And here's my code (forgive me for all of the childish things in there, i'm just trying out different features) :

    


    
import discord
import discord.ext
from discord import FFmpegPCMAudio
from discord.ext import commands
import random


Token = "No token for you :)"
client = commands.Bot(command_prefix = '!', intents=discord.Intents.all())


@client.event
async def on_ready():
    print(f"we're rolling as {client.user} \n")
    channel = client.get_channel(1022535885851459727)
    await channel.send("Tremble before my might hoomans😤😤")

#Member events:

@client.event
async def on_member_join(member):
    await member.send("Ok comrade, welcome to bot lab, pls not leave. Anways here rules \n1. No swearing \n2. No cursing \n3. No bullying, the owner is a crybaby \n4. No following the rules (u get banned if this one is broken)")
    channel = client.get_channel(1136658873688801302)
    jokes = [f"A failure known as {member} has joined this chat!", 
             f"Another {member} has joined the channel", 
             f"A {member} spawned", 
             f'cout << "{member} has joined teh chat" << endl;', 
             f"OUR great {member} has come to save us" ]
    await channel.send(jokes[random.randint(0,len(jokes))])

@client.event 
async def on_member_remove(member):
    await member.send("Bye our dear comrade")
    channel = client.get_channel(1136663317738442752)
    await channel.send(f"{member} has left the chat :(.)")

#Client commands:
    
@client.command()
async def hello(ctx):
    await ctx.send("Hello, I am pro bot")

@client.command()
async def byelol(ctx):
    await ctx.send("Bye, I am pro bot")
@client.command()
async def ping(ctx):
    await ctx.send(f"**pong** {ctx.message.author.mention}")


@client.event
async def on_message(message):
    message.content = message.content.lower()
    await client.process_commands(message)


#voice channel commands:

@client.command(pass_context = True)
async def micup(ctx):
    if (ctx.author.voice):
        await ctx.send(f"Joining on {ctx.message.author}'s command")
        channel = ctx.message.author.voice.channel
        voice = await channel.connect()
        source = FFmpegPCMAudio('Bluetooth.wav')
        player = voice.play(source)
        
        
        
    else:
        await ctx.send("No.")



@client.command(pass_Context = True)
async def leave(ctx):
    if (ctx.voice_client):
        await ctx.send(f"Leaving on {ctx.message.author}'s command")
        await ctx.guild.voice_client.disconnect()
    else:
        await ctx.send("Nyet. Im not in voice chat u stoopid hooman")


@client.command(pass_Context = True)
async def pause(ctx):
    voice = discord.utils.get(client.voice_clients, guild = ctx.guild)
    if voice.is_playing():
        await ctx.send("Pausing..⏸")
        voice.pause()
    else:
        await ctx.send("I don't think I will.")

@client.command(pass_Context = True)
async def resume(ctx):
    voice = discord.utils.get(client.voice_clients, guild = ctx.guild)
    if voice.is_paused():
        await ctx.send("My ears are bleeding")
        voice.resume()
    else:
        await ctx.send("ALREADY BLASTING MUSIC")

@client.command(pass_Context = True)
async def stop(ctx):
    voice = discord.utils.get(client.voice_clients, guild = ctx.guild)
    await ctx.send("You can stop the song, but you can't stop me!")
    voice.stop()

@client.command(pass_Context = True)
async def play(ctx, arg):
    await ctx.send("Playing..")
    voice = ctx.guild.voice_client
    source = FFmpegPCMAudio(arg)
    player = voice.play(source)

if '__main__' == __name__:
    client.run(Token)


    


    I tried installing different versions of ffmpeg, still nothing. I tried to run the code outside of my venv, but still nothing (i doubt that it's the problem). I changed the path to it to different folders, still nothing.
The only time it DID work is when i entered a full path, but then when you want to play something, you wouldn't want to say " !play D:_Python\DiscordBot\Bluetooth.wav". From what i've seen, it's possible to play it by just saying " !play Bluetooth.wav".

    


    So long story short : I want to make it so that the path i have to specify is just the file name. And when I do, it doesn't play the sound.
(sorry if this is a dupe question, i just couldn't find anything understandable for my amateur brain)

    


  • Revision 4b6fb94637 : Merge "vpxenc : support scaling prior to encoding" into experimental

    27 février 2013, par John Koleszar

    Merge "vpxenc : support scaling prior to encoding" into experimental

  • Revision aba4f7fd42 : Merge "vpxdec : support scaling output" into experimental

    27 février 2013, par John Koleszar

    Merge "vpxdec : support scaling output" into experimental