10-02-2013 06:48 AM - edited 10-02-2013 07:28 AM
This is my code:
char workingdir[PATH_MAX]; char audiofileurl[PATH_MAX]; int ret; getcwd( workingdir, PATH_MAX ); sprintf( audiofileurl, "file://%s/data/cache/%s", workingdir, pFileName ); Assert( m_pMediaPlayerConnectionHandle == NULL ); m_pMediaPlayerConnectionHandle = mmr_connect( NULL ); Assert( m_pMediaPlayerConnectionHandle != NULL ); mode_t mode = S_IRUSR | S_IXUSR; m_pMediaContext = mmr_context_create( m_pMediaPlayerConnectionHandle, "MyAudioStreamer", 0, mode ); Assert( m_pMediaContext != NULL ); const char* audiourl = "audio:default"; m_AudioOutputID = mmr_output_attach( m_pMediaContext, audiourl, "audio" ); Assert( m_AudioOutputID > -1 ); // put it in a list, so we can specify repeat below ret = mmr_input_attach( m_pMediaContext, audiofileurl, "autolist" ); const mmr_error_info_t* err = mmr_error_info( m_pMediaContext );
mmr_input_attach is returning -1, and when I look at the error it says "No such file or directory".
The audiourl variable contains:
(I'm not pasting the real namespace for legal reasons).
I've used the shell to navigate the directories on my device and confirmed that the MP3 file is definitely at that location.
EDIT: I've also confirmed the case-sensitivity of the string (since apparently everything is case sensitive in BlackBerry OS 10). I've also performed a chmod -R 777 on my entire /data/cache/ directory to ensure the app can access the file.
So is there something obvious which I'm missing?
I've noticed all the examples I've read store their music in /app/native/, whereas I'm storing it in /data/cache/, but I don't think that could cause the issue since the BlackBerry documentation states that the app has read/write access to /data/cache/