Antwort schreiben  Thema schreiben 
Verfasser Nachricht
Shokupan
Neuling
*


Beiträge: 2
Gruppe: User
Registriert seit: Feb 2012

Status: Offline
Danke erhalten: 0
Beitrag: #1
xPSP  MP3 funktioniert nicht - höre nichts.

Der Titel sagt es schon: Ich höre nichts.
(Achja, ich bin ein absoluter noob!)

Meine main.c sieht folgendermaßen aus:

Code:
#include <pspdisplay.h>
#include <pspctrl.h>
#include <pspkernel.h>
#include <pspdebug.h>
#include <pspgu.h>
#include <pspaudio.h>
#include <pspaudiolib.h>
#include <psppower.h>
#include <png.h>
#include <stdio.h>
#include "graphics.h"
#include "mp3player.h"

PSP_MODULE_INFO("Final Fantasy FM", 0, 1, 1);

#define printf pspDebugScreenPrintf
#define MAX(X, Y) ((X) > (Y) ? (X) : (Y))

//------------------------------------------------------------------------------

/* Exit callback */
int exit_callback(int arg1, int arg2, void *common) {
sceKernelExitGame();
return 0;
}

/* Callback thread */
int CallbackThread(SceSize args, void *argp) {
int cbid;

cbid = sceKernelCreateCallback("Exit Callback", exit_callback, NULL);
sceKernelRegisterExitCallback(cbid);

sceKernelSleepThreadCB();

return 0;
}

/* Sets up the callback thread and returns its thread id */
int SetupCallbacks(void) {
int thid = 0;

thid = sceKernelCreateThread("update_thread", CallbackThread, 0x11, 0xFA0, 0, 0);
if(thid >= 0) {
sceKernelStartThread(thid, 0, 0);
}

return thid;
}

//------------------------------------------------------------------------------

int main()
{
    Image* testpng;
    pspDebugScreenInit();
    SetupCallbacks();
    initGraphics();
    testpng = loadImage("title_screen.png");

    if(!testpng)
   {
         //laden des Bildes ist fehlgeschlagen
         printf("laden des Bildes fehlgeschlagen!\n");
    }
    else
    {
         sceDisplayWaitVblankStart();
         blitAlphaImageToScreen(0 ,0 ,480 , 272, testpng, 0, 0);
         flipScreen();
    }

    sceKernelSleepThread();
    return 0;

    scePowerSetClockFrequency(333, 333, 166);

          pspDebugScreenInit();
          SetupCallbacks();

          pspAudioInit();
          
          MP3_Init(1);
          MP3_Load("test.mp3");
          MP3_Play();
          
    return 0;
}


Makefile sieht so aus:

Code:
TARGET = blabla
OBJS = main.o graphics.o framebuffer.o mp3player.o

CFLAGS = -O2 -G0 -Wall
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)

LIBDIR =
LIBS = -lpspgu -lpng -lz -lm -lmad -lpspaudiolib -lpspaudio -lpsppower
LDFLAGS =

EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = Final Fantasy FM

PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak


Zu Beginn dieses Tutorials ist die Rede von Cygwin und libmad. Sind diese denn dringend nötig? Also bei Cygwin bezweifle ich das mal, aber falls ich libmad brauche - wie und wo habe ich das zu implentieren?

P.S.: Ja, meine MP3 ist unter 160kbps.

Danke im Vorraus! Smile

09.02.2012 15:46
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
dark-awesome
stehn


Beiträge: 3.204
Gruppe: Banned
Registriert seit: Jul 2010

Status: Offline
Danke erhalten: 2192
Beitrag: #2
xPSP  RE: MP3 funktioniert nicht - höre nichts.

Code:
#include &lt;pspkernel.h&gt;
#include &lt;pspdebug.h&gt;
#include &lt;pspctrl.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string.h&gt;
#include &lt;pspaudio.h&gt;
#include &lt;pspaudiolib.h&gt;
#include &lt;psppower.h&gt;

#include "mp3player.h"

PSP_MODULE_INFO("MP3", 0, 1, 1);

//------------------------Callbacks Funtion-------------------------------------

/* Exit callback */
int exit_callback(int arg1, int arg2, void *common) {
sceKernelExitGame();
return 0;
}

/* Callback thread */
int CallbackThread(SceSize args, void *argp) {
int cbid;

cbid = sceKernelCreateCallback("Exit Callback", exit_callback, NULL);
sceKernelRegisterExitCallback(cbid);

sceKernelSleepThreadCB();

return 0;
}

/* Sets up the callback thread and returns its thread id */
int SetupCallbacks(void) {
int thid = 0;

thid = sceKernelCreateThread("update_thread", CallbackThread, 0x11, 0xFA0, 0, 0);
if(thid &gt;= 0) {
sceKernelStartThread(thid, 0, 0);
}

return thid;
}

//------------------------------------------------------------------------------


int main()
{  
    scePowerSetClockFrequency(333, 333, 166);
    
    pspDebugScreenInit();
    pspAudioInit();
    MP3_Init(1);
    MP3_Load("main.mp3");
        
    while(1) {
         MP3_Play();

    }
    return 0;
}


Hier es liegt daran das direkt nach MP3_Play(); return 0; kommt. Man könnte es auch mit sceKernelSleepThread(); lösen geht aber mit einer while ist es doch sinnvoller.


West Zeit / Westside

Dieser Beitrag wurde zuletzt bearbeitet: 09.02.2012 21:41 von dark-awesome.

09.02.2012 21:39
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Antwort schreiben  Thema schreiben 

Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
xGames Wie funktioniert der momentane Firmwarehack der PSP? Zeico 11 4.674 22.03.2013 22:00
Letzter Beitrag: dx3m
Question [F] Wie funktioniert ein Hen und was muss man dafür können? dark-awesome 29 6.576 27.04.2011 15:43
Letzter Beitrag: PSP_Lord
xPSP Lua: 3d Code funktioniert nicht dCoder 1 1.858 10.04.2011 14:01
Letzter Beitrag: xXAnonymXx
xPSP Laufen funktioniert nicht lars96 9 3.205 21.02.2011 21:06
Letzter Beitrag: lars96
xPSP [LUA] Malprogramm funktioniert nicht richtig thewolf16 7 2.613 22.03.2010 03:40
Letzter Beitrag: thewolf16

Druckversion anzeigen
Thema einem Freund senden
Thema abonnieren | Thema zu den Favoriten hinzufügen




» zum Seitenanfang