forums.ps2dev.org Forum Index forums.ps2dev.org
Homebrew PS2, PSP & PS3 Development Discussions
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

now,we can use libaudiocodec to decode mp3 and aac
Goto page 1, 2  Next
 
Post new topic   Reply to topic    forums.ps2dev.org Forum Index -> PSP Development
View previous topic :: View next topic  
Author Message
cooleyes



Joined: 18 May 2006
Posts: 125

PostPosted: Sat Jun 09, 2007 2:43 am    Post subject: now,we can use libaudiocodec to decode mp3 and aac Reply with quote

hi, all

I just found out how to decode mp3 and aac using libaudiocodec now!

here is some sample code for decode mp3 and aac file:

mp3 file decode:

Code:

#include <pspkernel.h>
#include <pspctrl.h>
#include <pspdisplay.h>
#include <pspdebug.h>
#include <psppower.h>
#include <stdio.h>
#include <stdlib.h>
#include <pspkernel.h>
#include <pspctrl.h>
#include <psppower.h>
#include <pspdebug.h>
#include <psprtc.h>
#include <pspsdk.h>
#include <pspaudiocodec.h>
#include <pspaudio.h>
#include <string.h>
#include <malloc.h>

int SetupCallbacks();

PSP_MODULE_INFO("MP3 decodeTest", 0x1000, 1, 1);
PSP_MAIN_THREAD_ATTR(0);

__attribute__ ((constructor))
void loaderInit(){
   pspKernelSetKernelPC();
   pspSdkInstallNoDeviceCheckPatch();
   pspSdkInstallNoPlainModuleCheckPatch();
   pspSdkInstallKernelLoadModulePatch();
}

SceCtrlData input;

static int bitrates[] = {0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320 };

unsigned long mp3_codec_buffer[65] __attribute__((aligned(64)));
short mp3_mix_buffer[1152 * 2] __attribute__((aligned(64)));


SceUID mp3_handle;
u8* mp3_data_buffer;
u16 mp3_data_align;
u32 mp3_sample_per_frame;
u16 mp3_channel_mode;
u32 mp3_data_start;
u32 mp3_data_size;
u8 mp3_getEDRAM;
u32 mp3_channels;
u32 mp3_samplerate;


int main(void)
{
   SetupCallbacks();
   
   int result = pspSdkLoadStartModule("flash0:/kd/me_for_vsh.prx", PSP_MEMORY_PARTITION_KERNEL);
   
   result = pspSdkLoadStartModule("flash0:/kd/videocodec.prx", PSP_MEMORY_PARTITION_KERNEL);
   
   result = pspSdkLoadStartModule("flash0:/kd/audiocodec.prx", PSP_MEMORY_PARTITION_KERNEL);
   
   result = pspSdkLoadStartModule("flash0:/kd/mpegbase.prx", PSP_MEMORY_PARTITION_KERNEL);
   
   result = pspSdkLoadStartModule("flash0:/kd/mpeg_vsh.prx", PSP_MEMORY_PARTITION_USER);
   
   pspSdkFixupImports(result);
   
   sceMpegInit();
   
   mp3_handle = sceIoOpen("ms0:/Test.MP3", PSP_O_RDONLY, 0777);
   if (  ! mp3_handle )
      goto wait;
   
   mp3_channels = 2;
   mp3_samplerate = 44100; //this is mp3 file's samplerate, also can be 48000,....
   mp3_sample_per_frame = 1152;
   
   mp3_data_start = sceIoLseek32(mp3_handle, 0, PSP_SEEK_CUR);
   
   memset(mp3_codec_buffer, 0, sizeof(mp3_codec_buffer));
   
   if ( sceAudiocodecCheckNeedMem(mp3_codec_buffer, 0x1002) < 0 )
      goto wait;
   if ( sceAudiocodecGetEDRAM(mp3_codec_buffer, 0x1002) < 0 )
         goto wait;
   mp3_getEDRAM = 1;
   
   if ( sceAudiocodecInit(mp3_codec_buffer, 0x1002) < 0 ) {
      goto wait;
   }
   
   int eof = 0;   
   while( !eof ) {
      int samplesdecoded;
      memset(mp3_mix_buffer, 0, mp3_sample_per_frame*2*2);
      unsigned char mp3_header_buf[4];
      if ( sceIoRead( mp3_handle, mp3_header_buf, 4 ) != 4 ) {
         eof = 1;
         continue;
      }
      int mp3_header = mp3_header_buf[0];
      mp3_header = (mp3_header<<8) | mp3_header_buf[1];
      mp3_header = (mp3_header<<8) | mp3_header_buf[2];
      mp3_header = (mp3_header<<8) | mp3_header_buf[3];
      
      int bitrate = (mp3_header & 0xf000) >> 12;
      int padding = (mp3_header & 0x200) >> 9;
      
      int frame_size = 144000*bitrates[bitrate]/mp3_samplerate + padding;
      
      if ( mp3_data_buffer )
         free(mp3_data_buffer);
      mp3_data_buffer = (u8*)memalign(64, frame_size);
      
      sceIoLseek32(mp3_handle, mp3_data_start, PSP_SEEK_SET); //seek back
      
      if ( sceIoRead( mp3_handle, mp3_data_buffer, frame_size ) != frame_size ) {
         eof = 1;
         continue;
      }
      
      mp3_data_start += frame_size;
      
      mp3_codec_buffer[6] = (unsigned long)mp3_data_buffer;
      mp3_codec_buffer[8] = (unsigned long)mp3_mix_buffer;
      
      mp3_codec_buffer[7] = mp3_codec_buffer[10] = frame_size;
      mp3_codec_buffer[9] = mp3_sample_per_frame * 4;
   
      int res = sceAudiocodecDecode(mp3_codec_buffer, 0x1002);
      if ( res < 0 ) {
         eof = 1;
         continue;
      }
      samplesdecoded = mp3_sample_per_frame;
   }

wait:
   
   if ( mp3_handle ) {
      sceIoClose(mp3_handle);
   }
   if ( mp3_data_buffer) {
      free(mp3_data_buffer);
   }
   if ( mp3_getEDRAM ) {
      sceAudiocodecReleaseEDRAM(mp3_codec_buffer);
   }
   
   sceCtrlReadBufferPositive(&input, 1);
   while(!(input.Buttons & PSP_CTRL_TRIANGLE))
   {
      sceKernelDelayThread(10000);   // wait 10 milliseconds
      sceCtrlReadBufferPositive(&input, 1);
   }
   
   sceKernelExitGame();
   return 0;
}


/* 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;
}



aac( ADTS header ) file decode( if want to decode m4a, you must use libmp4 to get the aac frame data from mp4 box)
Code:

#include <pspkernel.h>
#include <pspctrl.h>
#include <pspdisplay.h>
#include <pspdebug.h>
#include <psppower.h>
#include <stdio.h>
#include <stdlib.h>
#include <pspkernel.h>
#include <pspctrl.h>
#include <psppower.h>
#include <pspdebug.h>
#include <psprtc.h>
#include <pspsdk.h>
#include <pspaudiocodec.h>
#include <pspaudio.h>
#include <string.h>
#include <malloc.h>

int SetupCallbacks();

PSP_MODULE_INFO("MP3 decodeTest", 0x1000, 1, 1);
PSP_MAIN_THREAD_ATTR(0);

__attribute__ ((constructor))
void loaderInit(){
   pspKernelSetKernelPC();
   pspSdkInstallNoDeviceCheckPatch();
   pspSdkInstallNoPlainModuleCheckPatch();
   pspSdkInstallKernelLoadModulePatch();
}

SceCtrlData input;

static int bitrates[] = {0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320 };

unsigned long aac_codec_buffer[65] __attribute__((aligned(64)));
short aac_mix_buffer[1024 * 2] __attribute__((aligned(64)));


SceUID aac_handle;
u8* aac_data_buffer;
u16 aac_data_align;
u32 aac_sample_per_frame;
u16 aac_channel_mode;
u32 aac_data_start;
u32 aac_data_size;
u8 aac_getEDRAM;
u32 aac_channels;
u32 aac_samplerate;


int main(void)
{
   SetupCallbacks();
   
   int result = pspSdkLoadStartModule("flash0:/kd/me_for_vsh.prx", PSP_MEMORY_PARTITION_KERNEL);
   
   result = pspSdkLoadStartModule("flash0:/kd/videocodec.prx", PSP_MEMORY_PARTITION_KERNEL);
   
   result = pspSdkLoadStartModule("flash0:/kd/audiocodec.prx", PSP_MEMORY_PARTITION_KERNEL);
   
   result = pspSdkLoadStartModule("flash0:/kd/mpegbase.prx", PSP_MEMORY_PARTITION_KERNEL);
   
   result = pspSdkLoadStartModule("flash0:/kd/mpeg_vsh.prx", PSP_MEMORY_PARTITION_USER);
   
   pspSdkFixupImports(result);
   
   sceMpegInit();
   
   aac_handle = sceIoOpen("ms0:/Test.AAC", PSP_O_RDONLY, 0777);
   if (  ! aac_handle )
      goto wait;
   
   aac_channels = 2;
   aac_samplerate = 44100; //this is aac file's samplerate, also can be 48000,....
   aac_sample_per_frame = 1024;
   
   aac_data_start = sceIoLseek32(aac_handle, 0, PSP_SEEK_CUR);
   
   memset(aac_codec_buffer, 0, sizeof(aac_codec_buffer));
   
   if ( sceAudiocodecCheckNeedMem(aac_codec_buffer, 0x1003) < 0 )
      goto wait;
   if ( sceAudiocodecGetEDRAM(aac_codec_buffer, 0x1003) < 0 )
         goto wait;
   aac_getEDRAM = 1;
   
   aac_codec_buffer[10] = aac_samplerate;
   if ( sceAudiocodecInit(aac_codec_buffer, 0x1003) < 0 ) {
      goto wait;
   }
   
   int eof = 0;   
   while( !eof ) {
      int samplesdecoded;
      memset(aac_mix_buffer, 0, aac_sample_per_frame*2*2);
      unsigned char aac_header_buf[7];
      if ( sceIoRead( aac_handle, aac_header_buf, 7 ) != 7 ) {
         eof = 1;
         continue;
      }
      int aac_header = aac_header_buf[3];
      aac_header = (aac_header<<8) | aac_header_buf[4];
      aac_header = (aac_header<<8) | aac_header_buf[5];
      aac_header = (aac_header<<8) | aac_header_buf[6];
      
      int frame_size = aac_header & 67100672;
      frame_size = frame_size >> 13;
      frame_size = frame_size - 7;
      
      if ( aac_data_buffer )
         free(aac_data_buffer);
      aac_data_buffer = (u8*)memalign(64, frame_size);
      
      if ( sceIoRead( aac_handle, aac_data_buffer, frame_size ) != frame_size ) {
         eof = 1;
         continue;
      }
      
      aac_data_start += (frame_size+7);
      
      aac_codec_buffer[6] = (unsigned long)aac_data_buffer;
      aac_codec_buffer[8] = (unsigned long)aac_mix_buffer;
      
      aac_codec_buffer[7] = frame_size;
      aac_codec_buffer[9] = aac_sample_per_frame * 4;
      
   
      int res = sceAudiocodecDecode(aac_codec_buffer, 0x1003);
      if ( res < 0 ) {
         eof = 1;
         continue;
      }
      samplesdecoded = aac_sample_per_frame;
   }

wait:
   
   if ( aac_handle ) {
      sceIoClose(aac_handle);
   }
   if ( aac_data_buffer) {
      free(aac_data_buffer);
   }
   if ( aac_getEDRAM ) {
      sceAudiocodecReleaseEDRAM(aac_codec_buffer);
   }
   
   sceCtrlReadBufferPositive(&input, 1);
   while(!(input.Buttons & PSP_CTRL_TRIANGLE))
   {
      sceKernelDelayThread(10000);   // wait 10 milliseconds
      sceCtrlReadBufferPositive(&input, 1);
   }
   
   sceKernelExitGame();
   return 0;
}


/* 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;
}



Last edited by cooleyes on Sun Jun 10, 2007 11:35 pm; edited 1 time in total
Back to top
View user's profile Send private message
Insert_witty_name



Joined: 10 May 2006
Posts: 376

PostPosted: Sat Jun 09, 2007 3:53 am    Post subject: Reply with quote

Excellent work again.

I'm gonna play with these right away :)
Back to top
View user's profile Send private message
J.F.



Joined: 22 Feb 2004
Posts: 2906

PostPosted: Sat Jun 09, 2007 5:05 am    Post subject: Reply with quote

Great work! This should be very handy for people wanting background music for their app. Too bad Sony never added ogg support to the firmware.
Back to top
View user's profile Send private message AIM Address
Insert_witty_name



Joined: 10 May 2006
Posts: 376

PostPosted: Sat Jun 09, 2007 6:10 am    Post subject: Reply with quote

Unfortunately sceAudiocodecDecode returns an error code of 0x807f0002 for me using the mp3 example.

Maybe it's something to do with the mp3 file I am using, what are the specs of your test mp3 file?
Back to top
View user's profile Send private message
jockyw2001



Joined: 29 Sep 2005
Posts: 339

PostPosted: Sat Jun 09, 2007 7:17 am    Post subject: Reply with quote

Holy crap! Despite the heatwave over here this will motivate me to get back to coding business :)

Excellent work cooleyes!
Back to top
View user's profile Send private message
cooleyes



Joined: 18 May 2006
Posts: 125

PostPosted: Sat Jun 09, 2007 8:30 am    Post subject: Reply with quote

Insert_witty_name wrote:
Unfortunately sceAudiocodecDecode returns an error code of 0x807f0002 for me using the mp3 example.

Maybe it's something to do with the mp3 file I am using, what are the specs of your test mp3 file?


I have test this code, it work well.
maybe your mp3 file have some TAG in the header,
you must skip the TAG, so your data_start will not be zero.

and these code , I will add to my project PPA(PMPlayer advance),
PPA can play PMP(AVC+MP3), PMP(AVC+AAC) , PMP(AVC+48KMP3), PMP(AVC+48KAAC) now.
Back to top
View user's profile Send private message
Mihawk



Joined: 03 Apr 2007
Posts: 29

PostPosted: Sat Jun 09, 2007 8:54 pm    Post subject: Reply with quote

I didn't test it yet, so how exactly does this work?
Is sceAudiocodecDecode a blocking function that decodes and plays the samples directly? Or does it just decode the data and put the samples into the mp3_mix_buffer?

I would prefer the second one ;)
because I would like to use it to just decode an mp3 to do some processing on it (get a DCT, show DCT gfx and eventually play a part of the mp3).
Back to top
View user's profile Send private message
Raphael



Joined: 17 Jan 2006
Posts: 646
Location: Germany

PostPosted: Sun Jun 10, 2007 8:48 pm    Post subject: Reply with quote

Once again, excellent work cooleyes. You have my utter most respect :)
_________________
<Don't push the river, it flows.>
http://wordpress.fx-world.org - my devblog
http://wiki.fx-world.org - VFPU documentation wiki

Alexander Berl
Back to top
View user's profile Send private message Visit poster's website
dot_blank



Joined: 28 Sep 2005
Posts: 498
Location: Brasil

PostPosted: Sun Jun 10, 2007 9:12 pm    Post subject: Reply with quote

you are def the man cooleyes :) your audio work and also
your translations work for the characters sets of PMPA are just great
thanx alot :)

but why is there SceUID mp3_handle;
and then redeclaration / definition @
SceUID mp3_handle = sceIoOpen("ms0:/Test.MP3", PSP_O_RDONLY, 0777);
if ( ! mp3_handle )
goto wait;

same applies to AAC ...your sample works but i am just curious about above
what design does this provide
_________________
10011011 00101010 11010111 10001001 10111010
Back to top
View user's profile Send private message
cooleyes



Joined: 18 May 2006
Posts: 125

PostPosted: Sun Jun 10, 2007 11:22 pm    Post subject: Reply with quote

dot_blank wrote:
you are def the man cooleyes :) your audio work and also
your translations work for the characters sets of PMPA are just great
thanx alot :)

but why is there SceUID mp3_handle;
and then redeclaration / definition @
SceUID mp3_handle = sceIoOpen("ms0:/Test.MP3", PSP_O_RDONLY, 0777);
if ( ! mp3_handle )
goto wait;

same applies to AAC ...your sample works but i am just curious about above
what design does this provide


hehe,that is a little bug.
I forgot I have designed mp3_handle.
:P
Back to top
View user's profile Send private message
dot_blank



Joined: 28 Sep 2005
Posts: 498
Location: Brasil

PostPosted: Tue Jun 12, 2007 7:17 am    Post subject: Reply with quote

ahh :) ok buddy i understand it happens to us all :)
_________________
10011011 00101010 11010111 10001001 10111010
Back to top
View user's profile Send private message
jsharrad



Joined: 20 Oct 2005
Posts: 102

PostPosted: Wed Jun 13, 2007 7:42 am    Post subject: Reply with quote

That is awesome, thanks cooleyes.
Back to top
View user's profile Send private message
raf



Joined: 13 Oct 2005
Posts: 57

PostPosted: Thu Jun 14, 2007 3:39 am    Post subject: Reply with quote

Excellent job, cooleyes!!. I'll look at adding this into PSPRadio asap; it would really help release some CPU cycles for the visualizers :)

Thanks!,

Raf.
Back to top
View user's profile Send private message
jsharrad



Joined: 20 Oct 2005
Posts: 102

PostPosted: Thu Jun 14, 2007 6:43 am    Post subject: Reply with quote

raf wrote:
Excellent job, cooleyes!!. I'll look at adding this into PSPRadio asap; it would really help release some CPU cycles for the visualizers :)

Thanks!,

Raf.


heh, I pulled some of the visualizer plugins from your svn last night and tried them with it, they work really well :)
Back to top
View user's profile Send private message
jockyw2001



Joined: 29 Sep 2005
Posts: 339

PostPosted: Fri Jun 15, 2007 7:26 pm    Post subject: Reply with quote

cooleyes wrote:
and these code , I will add to my project PPA(PMPlayer advance),
PPA can play PMP(AVC+MP3), PMP(AVC+AAC) , PMP(AVC+48KMP3), PMP(AVC+48KAAC) now.

Have you already done this? is the sourcecode available?
I'm trying to get your code to work in PMPVLC player.
Back to top
View user's profile Send private message
cooleyes



Joined: 18 May 2006
Posts: 125

PostPosted: Fri Jun 15, 2007 11:23 pm    Post subject: Reply with quote

jockyw2001 wrote:
cooleyes wrote:
and these code , I will add to my project PPA(PMPlayer advance),
PPA can play PMP(AVC+MP3), PMP(AVC+AAC) , PMP(AVC+48KMP3), PMP(AVC+48KAAC) now.

Have you already done this? is the sourcecode available?
I'm trying to get your code to work in PMPVLC player.


yes, I had released a new version PPA.

the source available here:

http://files.cngba.com/cooleyes/PPA/PPA.source.20070613.rar
Back to top
View user's profile Send private message
jockyw2001



Joined: 29 Sep 2005
Posts: 339

PostPosted: Sat Jun 16, 2007 12:27 am    Post subject: Reply with quote

cooleyes: thx, but that link doesn't work, it just shows me a blank page with a link to http://www.cngba.com

Do you have an alternative download location?
Back to top
View user's profile Send private message
cooleyes



Joined: 18 May 2006
Posts: 125

PostPosted: Sat Jun 16, 2007 1:26 am    Post subject: Reply with quote

jockyw2001 wrote:
cooleyes: thx, but that link doesn't work, it just shows me a blank page with a link to http://www.cngba.com

Do you have an alternative download location?


try this.
http://mihd.net/hxwov1
Back to top
View user's profile Send private message
jockyw2001



Joined: 29 Sep 2005
Posts: 339

PostPosted: Sat Jun 16, 2007 2:01 am    Post subject: Reply with quote

cooleyes wrote:
try this.
http://mihd.net/hxwov1

Great, thx!
Back to top
View user's profile Send private message
Raphael



Joined: 17 Jan 2006
Posts: 646
Location: Germany

PostPosted: Sat Jun 16, 2007 2:26 am    Post subject: Reply with quote

cooleyes, if you want I can offer you webspace for PPA. Just give me a PM if you're interested
_________________
<Don't push the river, it flows.>
http://wordpress.fx-world.org - my devblog
http://wiki.fx-world.org - VFPU documentation wiki

Alexander Berl
Back to top
View user's profile Send private message Visit poster's website
UD1121



Joined: 23 Sep 2006
Posts: 6

PostPosted: Sun Jun 17, 2007 1:59 am    Post subject: Reply with quote

cooleyes, can i have a link to PPA (not the source code)? and what else is new besides the audio stuff?
Back to top
View user's profile Send private message
Art



Joined: 09 Nov 2005
Posts: 648

PostPosted: Sat Jul 07, 2007 10:39 pm    Post subject: Reply with quote

Could someone who has this working pls provide the makefile used?
Cheers, Art.
Back to top
View user's profile Send private message
metlhed



Joined: 08 Jul 2007
Posts: 1

PostPosted: Sun Jul 08, 2007 11:40 am    Post subject: Reply with quote

I'm having some trouble getting this to work too. I'm using the 20070626 toolchain script built in linux. I can compile the example fine but when running it I see the memory card being accessed but there is no sound. It also finishes much faster than it should if it was playing.

Here is the makefile I'm using:
Code:
TARGET = mp3
OBJS = main.o
CFLAGS = -O2 -G0 -Wall
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)
LIBDIR =

LIBS = -lpspaudiocodec -lpspmpeg

LDFLAGS =
EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = mp3 test
#PSP_EBOOT_ICON = ICON0.PNG

PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak
Back to top
View user's profile Send private message
Art



Joined: 09 Nov 2005
Posts: 648

PostPosted: Sun Jul 08, 2007 3:23 pm    Post subject: Reply with quote

Thanks I'll get back after I have a shot.
Back to top
View user's profile Send private message
egorive



Joined: 22 Jun 2006
Posts: 24

PostPosted: Wed Aug 01, 2007 4:55 am    Post subject: same problem Reply with quote

Sorry but I have the same problem as metlhed, could any one tell us how is the right makefile?, I have used a tag remover just in case but still doesn't play my mp3 file. Thanks a lot!!
Back to top
View user's profile Send private message
dot_blank



Joined: 28 Sep 2005
Posts: 498
Location: Brasil

PostPosted: Wed Aug 01, 2007 7:45 am    Post subject: Reply with quote

is there anyway of decoding without using the vsh modules loaded
_________________
10011011 00101010 11010111 10001001 10111010
Back to top
View user's profile Send private message
DookFook



Joined: 01 Aug 2007
Posts: 6

PostPosted: Wed Aug 01, 2007 11:13 pm    Post subject: Reply with quote

Hello cooleyes,

the code you wrote is badass, however I get the same problem as other people. my memory stick lights go but I dont hear any audio. I opened the mp3 in a hex editor and it doesn't have a TAG header, just raw data. also, I dont know if my included libs are correct. is it possible to turn this app into a prx that would allow us to listen to mp3s while playing games etc?

thanks
Back to top
View user's profile Send private message
egorive



Joined: 22 Jun 2006
Posts: 24

PostPosted: Thu Aug 02, 2007 5:52 am    Post subject: bad forms Reply with quote

DookFook with bad forms you don't go anywhere... "badass" ?, if other people didn't have the problem you must think the problem is in our makefile, includes,or libraries in pspsdk or something that we don't see. Please, someone that help us and show us the way to make this thing work.thanks (sorry about my English, I'm foreigner).
Back to top
View user's profile Send private message
ufoz



Joined: 10 Nov 2005
Posts: 86
Location: Tokyo

PostPosted: Thu Aug 02, 2007 10:04 am    Post subject: Re: bad forms Reply with quote

egorive wrote:
DookFook with bad forms you don't go anywhere... "badass" ?, if other people didn't have the problem you must think the problem is in our makefile, includes,or libraries in pspsdk or something that we don't see. Please, someone that help us and show us the way to make this thing work.thanks (sorry about my English, I'm foreigner).


um

you are aware that "badass" is slang for "really awesome", right?
Back to top
View user's profile Send private message Visit poster's website AIM Address MSN Messenger
Xfacter



Joined: 28 Feb 2007
Posts: 9

PostPosted: Thu Aug 02, 2007 1:24 pm    Post subject: Reply with quote

It isn't supposed to play anything. It only decodes it. Getting it to play is up to you.
Back to top
View user's profile Send private message AIM Address MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    forums.ps2dev.org Forum Index -> PSP Development All times are GMT + 10 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group