SOLVED [1.4.7] Probleme pour jouer un son (CD)


  • Salut !!

    Cela fait plusieurs jours que je cherche sur google une solution à mon problème mais je ne trouve RIEN :’(

    J’ai essayer de faire mon propre CD donc jusque la tout fonctionne, sauf lors que l’on met le CD dans le jukebox rien ne se produit, je n’ai pourtant fait aucun faute ?

    Je vous laisse voir le code source par vous-même :

    • Dans le client :

    Class TechClientProxy:

    
    package modCrafttech.client;
    
    import net.minecraftforge.client.MinecraftForgeClient;
    import net.minecraftforge.common.MinecraftForge;
    import modCrafttech.common.TechCommonProxy;
    
    public class TechClientProxy extends TechCommonProxy
    {
    
    public static String BlockTextureHD = "/modCrafttech/client/textures/BlocksHD.png";
    
    @Override
    public void registerTextures()
    {
    
    MinecraftForgeClient.preloadTexture(BlockTextureHD);
    
    this.registerEvent();
    }
    private void registerEvent()
    {
       MinecraftForge.EVENT_BUS.register(new CustomSound());
    }
    }
    

    Class CustomSound

    
    package modCrafttech.client;
    
    import java.io.File;
    
    import modCrafttech.common.ModCrafttech;
    import net.minecraft.client.Minecraft;
    import net.minecraftforge.client.event.sound.PlaySoundEffectEvent;
    import net.minecraftforge.client.event.sound.PlaySoundEvent;
    import net.minecraftforge.client.event.sound.PlayStreamingEvent;
    import net.minecraftforge.client.event.sound.PlayStreamingSourceEvent;
    import net.minecraftforge.client.event.sound.SoundLoadEvent;
    import net.minecraftforge.event.ForgeSubscribe;
    
    public class CustomSound {
    
    @ForgeSubscribe
    public void loadsound(SoundLoadEvent event)
    {
    
    event.manager.soundPoolSounds.addSound("record/CDtest.ogg", ModCrafttech.class.getResource("/modCrafttech/client/music/CDtest.ogg"));
    }
    
    @ForgeSubscribe
    public void playSoundEffecctEvent(PlaySoundEffectEvent event)
    {
    System.out.println("PlaySoundEffectEvent: "+event.name);
    
    }
    
    @ForgeSubscribe
    public void PlaySoundEvent(PlaySoundEvent event)
    
    {
    
    System.out.println("PlaySoundEvent: "+event.name);
    }
    
    @ForgeSubscribe
    public void playStreamingSourceEvent(PlayStreamingEvent event)
    {
    
    System.out.println("PlayStreamingEvent: "+event.name);
    if(event.name.equals("CDtest"))
    event.result = event.manager.soundPoolSounds.getRandomSoundFromSoundPool("record.CDtest");
    
    }
    
    }
    
    
    • Dans le common :

    class ItemRecordCustom:

    
    package modCrafttech.common;
    
    import cpw.mods.fml.relauncher.Side;
    import cpw.mods.fml.relauncher.SideOnly;
    import modCrafttech.client.TechClientProxy;
    import net.minecraft.item.ItemRecord;
    
    public class ItemRecordCustom extends ItemRecord {
    
    public ItemRecordCustom(int par1, String par2Str) {
    super(par1, par2Str);
    // TODO Auto-generated constructor stub
    }
       @SideOnly(Side.CLIENT)
    
       public String getRecordTitle()
       {
           return "CDtest - " + this.recordName;
       }
    @SideOnly(Side.CLIENT)
    public String getTextureFile()
    {
    return TechClientProxy.BlockTextureHD;
    }
    }
    
    

    class ModCrafttech:

    
    package modCrafttech.common;
    
    import net.minecraft.block.Block;
    import net.minecraft.block.BlockBrewingStand;
    import net.minecraft.block.BlockGlass;
    import net.minecraft.block.BlockHalfSlab;
    import net.minecraft.block.BlockIce;
    import net.minecraft.block.BlockSign;
    import net.minecraft.block.BlockStep;
    import net.minecraft.block.material.Material;
    import net.minecraft.creativetab.CreativeTabs;
    import net.minecraft.item.Item;
    import net.minecraft.item.ItemDoor;
    import net.minecraft.item.ItemRecord;
    import net.minecraft.item.ItemReed;
    import net.minecraft.item.ItemSign;
    import net.minecraft.tileentity.TileEntitySign;
    import cpw.mods.fml.common.Mod;
    import cpw.mods.fml.common.Mod.Init;
    import cpw.mods.fml.common.Mod.PostInit;
    import cpw.mods.fml.common.Mod.PreInit;
    import cpw.mods.fml.common.Mod.ServerStarting;
    import cpw.mods.fml.common.SidedProxy;
    import cpw.mods.fml.common.event.FMLInitializationEvent;
    import cpw.mods.fml.common.event.FMLPostInitializationEvent;
    import cpw.mods.fml.common.event.FMLPreInitializationEvent;
    import cpw.mods.fml.common.event.FMLServerStartingEvent;
    import cpw.mods.fml.common.network.NetworkMod;
    import cpw.mods.fml.common.registry.GameRegistry;
    import cpw.mods.fml.common.registry.LanguageRegistry;
    
    @Mod(modid = "Mod CrafTech", name = "Mod CrafTech", version = "2.5.0")
    @NetworkMod(clientSideRequired = true, serverSideRequired = false)
    
    public class ModCrafttech
    {
    @SidedProxy(clientSide = "modCrafttech.client.TechClientProxy", serverSide = "modCrafttech.common.TechCommonProxy")
    public static TechCommonProxy proxy;
    
    /**1**/
    @PreInit
    public void preload(FMLPreInitializationEvent event)
    {
    
    }
    
    /**2**/
    public static Item record_CDtest;
    
    @Init
    public void load(FMLInitializationEvent event)
    {
    proxy.registerTextures();
    record_CDtest= new ItemRecordCustom(3000, "CDtest").setIconCoord(0, 0).setItemName("record");
    
    }
    
    /**3**/
    @PostInit
    public void postload(FMLPostInitializationEvent event)
    {
    
    }
    
    /**4**/
    @ServerStarting
    public void serverStarting(FMLServerStartingEvent event)
    {
    
    }
    
    }
    
    
    • Dans la class TechCommonProxy:
    
    package modCrafttech.common;
    
    public class TechCommonProxy
    {
    public void registerTextures()
    {
    
    }
    }
    
    

    Voila,je ne sais pas d’où le problème peut venir :’(

    Si vous pouvez m’aider ?

    Merci d’avance !

    Cordialement Sidney



  • Oui mais a me trouve une erreur a cette ligne de code :

    event.manager.addStreaming("modtutoriel:cd.ogg");
    

    Il faut que je mette le fichier mais je n’ai aucune idée de comment faire ?

  • Administrateurs Rédacteurs Moddeurs confirmés

    event.manager.soundPoolSounds.addStreaming("record/CDtest.ogg", ModCrafttech.class.getResource("/modCrafttech/client/music/CDtest.ogg"));
    

    Utilise ce code en 1.4.7. Le reste c’est la même chose.


  • Desolé mais le code que tu m’a passé ne fonctionne pas :’( :

    event.manager.soundPoolSounds.addStreaming("record/CDtest.ogg", ModCrafttech.class.getResource("/modCrafttech/client/music/CDtest.ogg"));
    

    Il prend comme paramètre une URL.
    Le seule que prend en compte l adresse du fichier est :

    event.manager.soundPoolSounds.addSound("record/CDtest.ogg", ModCrafttech.class.getResource("/modCrafttech/client/music/CDtest.ogg"));
    

    Mais ça ne fonctionne pas non plus :’(


  • Persone ?

  • Administrateurs Rédacteurs Moddeurs confirmés

    Malheureusement non, je ne peux pas t’aider plus car la 1.4 est trop loin pour moi et de toute façon je n’es jamais touché au son en 1.4.


  • Ok ce n’est pas grave, merci quand même de vos reponce.
    Je vais continuer a cherché 🙂


  • Je viens d observer un résultat assez étrange car quand essaye de jouer un son via le clic droit avec un item le jeux crash
    Sais tu d’ou sela pourrait venir ?

    Ps: desoler pour le double post

    Cordialement Sidney

  • Administrateurs Rédacteurs Moddeurs confirmés

    Envoie le rapport de crash.


  • Voila le rapporte d erreur sur eclipse :

    2013-12-21 20:27:42 [INFO] [Mod CrafTech] Activating mod Mod CrafTech
    2013-12-21 20:27:42 [INFO] [ForgeModLoader] Configured a dormant chunk cache size of 0
    2013-12-21 20:27:43 [INFO] [STDOUT] Starting up SoundSystem…
    2013-12-21 20:27:43 [INFO] [STDOUT] Initializing LWJGL OpenAL
    2013-12-21 20:27:43 [INFO] [STDOUT] (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org)
    2013-12-21 20:27:45 [INFO] [STDOUT] OpenAL initialized.
    2013-12-21 20:27:46 [INFO] [ForgeModLoader] Forge Mod Loader has successfully loaded 4 mods
    2013-12-21 20:27:54 [INFO] [STDOUT] Scanning folders…
    2013-12-21 20:27:54 [INFO] [STDOUT] Total conversion count is 0
    2013-12-21 20:27:55 [INFO] [ForgeModLoader] Loading dimension 0 (New World) (net.minecraft.server.integrated.IntegratedServer@39b75af4)
    2013-12-21 20:27:55 [INFO] [ForgeModLoader] Loading dimension 1 (New World) (net.minecraft.server.integrated.IntegratedServer@39b75af4)
    2013-12-21 20:27:55 [INFO] [ForgeModLoader] Loading dimension -1 (New World) (net.minecraft.server.integrated.IntegratedServer@39b75af4)
    2013-12-21 20:28:29 [INFO] [STDOUT] Error in class 'CodecJOrbis'
    2013-12-21 20:28:29 [INFO] [STDOUT] Ogg header not recognized in method 'readHeader'.
    2013-12-21 20:28:29 [INFO] [STDOUT] Error in class 'CodecJOrbis'
    2013-12-21 20:28:29 [INFO] [STDOUT] Error reading the header
    
    

  • L’erreur viens du codec Ogg, la c’est plus dur a regler.


  • Ha :’( Et comment sa se fait que j ai ça ?
    Cordialement Sidney


  • En fait le problème est réglé ! Cela venez d’une erreur conversion de la musique de .mp3 en .ogg
    Merci pour vos reponces!
    Cordialement Sidney