Order Now AdSolution Sign Up | Login » Bits on the Run Sign Up | Login »

Forums

/

Some MP3 files not playing...

20 replies [Last post]

First off, I've tried re-encoding them to 44 & 22 kHz, all have the same issue.

So, I've got a page with an audio link. Some IE users report that when they click the link Windows Media Player says that it has "reached end of file" and doesn't play it. I found that if you right click and save the file, then play it on those machines it works just fine - when loaded from the local disk - so the MP3 file itself isn't corrupt. I have not been able to replicate the error in Firefox (even using WMP).

In trying to resolve the issue, rather than link to the file, I thought I would embed it, using this player. But the player also refuses the play some of the MP3's. I have NO idea what's going on, my boss is pressuring me because the CEO is pressuring him & I'm at my wits end. Any solution gratefully received!

Sample links:
Non-working MP3:
http://wap.test.linguaphone-intranet.co.uk/RW5nbGlzaA%3D%3D/5pmu6YCa6K%2Bd/content2.php?rubric_id=12...
Working MP3:
http://wap.test.linguaphone-intranet.co.uk/RnJhbsOnYWlz/VMO8cmvDp2U%3D/content2.php?rubric_id=1189

P.S. It's also not the phrase length (file-size) as the working ones also work on 1 word files, and the non-working ones include whole sentences.

Here's my best guess.

Looking at the file paths:
1189_working.mp3:     mm1.addVariable( "file", "/audio/VMO8cmvDp2U=/1189.mp3" );
1274_not-working.mp3: mm1.addVariable( "file", "/audio/5pmu6YCa6K+d/1274.mp3" );

Comparing the file paths, we see that there is a plus sign in the URL of the non-working MP3.

Plus signs don't work very well in URLs because they were used to represent space characters in legacy browsers. Search these forums for all the problems that users are having with Amazon S3 URLs that have a plus sign in them.

The best thing for you to do, if you have control of the URLs, would be to restrict them to alphabetic and numeric characters, a-z, A-Z, 0-9.

You're right, I should have been making the paths URL safe - an oversight on my part while I was trying to get it working.

Unfortunately, fixing this by urlencoding the paths hasn't worked (it was a long shot anyway, as the "=" in the 1189 working file should also have been encoded...)

The two lines in question now read:
mm1.addVariable( "file", "/audio/VMO8cmvDp2U%3D/1189.mp3" );
mm1.addVariable( "file", "/audio/5pmu6YCa6K%2Bd/1274.mp3" );

and the effect is still there :( Any other ideas?

P.S. the file paths are fixed - they're the encoded names of the languages involved in the translation, and used in the application.

Update:
I've added an OBJECT and nested EMBED tag below the jw_media_player pointing to the same file, and that works just fine. This is driving me nuts...

when i test the 1274.mp3 locally it plays fine - so nothing is wrong with the file as such -
so the problem indeed seem to be the + in the folder name -
maybe try as an experiment to place the 1274.mp3 somewhere else and see if it plays then...

Ah. Yes, that allowed the file to play, but it's not really a solution for me, as the files are stored in the directories of their native language - base64 encoded (so that there aren't directories called "普通话" which would cause no-end of problems!), and a lot of the application relies upon this structure.

URL encoding the directories creates a syntatically valid filepath, so it should work. I'm guessing the problem lies with one of the calling functions (the JavaScript embedding perhaps?) not passing on the re-encoded path, or decoding it, or possibly even re-encoding it again, and probably in the linking "flashvars" variable, but I'm not sure.

I've tried all manner of things, from double encoding the string, to not encoding it, to renaming the directory to match the URL encoded version (only to try to locate where the issue was lying) - I can't get the file to play at all, unless I move it out of that directory.

This has got to be a bug in the code where it's not handling urlencoded things properly hasn't it?

As we saw with the Amazon S3 URLs, Flash + JavaScript + Internet Explorer is a bad combination. Even encoding the plus sign as %252B (double-encoded % sign) didn't work.

If object/embed works, go with that. All SWFObject does is write the object/embed tags anyway. You don't lose any functionality of the JavaScript API, you only lose the initial setup of the player through JavaScript, which you can work around by making your object/embed with PHP (or another scripting language) when the page is generated.

Thanks for the reply.

The object/embed tags work for some PC's - however for the PC's that originally had the problem (which I tried solving by using the flash player) that solution doesn't work either - so I'm back at the beginning again.

Just another FYI - the flash player doesn't work even in Firefox on the +'d URLs, so it's not restricted to IE.

Have you tried manually encoding a few of the problematic URLs, using %252B in place of the plus sign? Even though it didn't work for Amazon S3, it might work for you, depending on what your server does with the %252B.

The best solution, if you want to keep your hair, would be to avoid special characters in the path. However, it sounds like that may not be an option for you.

Sorry for delay in reply, I have been trying various things and pulling my hair out.

Ok, so I've found the problem with WMP clicking on the links (getting "reached end of file") error has something to do with the links, not the file... the link
audio/5pmu6YCa6K+d/1284.mp3
doesn't work, but
audio/5pmu6YCa6K+d/1285.mp3
did. And yet, renaming the two files made no difference, the 1284.mp3 file still didn't work.

I tried it with other directories that did not have the + sign in them too, they also failed, so that's not the issue.

I have, however, managed to find a way around using the + signed directory names, so at least the Flash player works (obviously where this forum is concerned!), and as I've said, PC's that play the link Quicktime work, as do Firefox browsers (seemingly). So my worry now is for the "Smart Phones" which this application will eventually be aimed at - I'll just have to cross my fingers and hope I think, because WMP is still failing on those original links, whatever the file contents or the directory name is :(

Thanks for all the help & pointers.
Phil

the song in mp3 shows no file but it work in computer

hi
song in mp3 shows no files.

but it,s work in computer
what is the problem

@tabu,

Do you have a link to your test page that you can post here so we can help you?

@ kLink
- <DeviceInfo>
<WMP DeviceID="{B368ED7B-F7C0-40DA-9319-55A27C14CD17}" RelationshipID="{00000000-0000-0000-0000-000000000000}" />
</DeviceInfo>
is that what link to test page is?
I have the same problem...

@Airiesia - the link to the online webpage where you test your JW FLV Media Player player is what is needed
you can get it from here - http://www.jeroenwijering.com/?item=JW_FLV_Media_Player
- so people here can see for them selves and check the sourcecode and the prescence of files and maybe find the problem...

i have some mp3 songs running in computer but not running in car cd player

I'll add the music to mp3 player and it plays while pluged up to the computor but when I go to play it with the battery then it doesn't play

why would you link an object rather than embed it?

For what it's worth, we are grappling with the same issue.

I've even tried triple-encoding the characters like plus (+) and somehow when I sniff what URL the jwplayer is trying to load, it's decoded my %25252B back into a plus sign! WTF!

hi,
can any one help me to get rid of below problem????
i am facing this as & when i open any of audio file.

Plz. help

command line:
"C:\Program Files\MPlayer for Windows\mplayer.exe" -slave -identify
-noquiet -wid 852364 -colorkey 0x101010 -nokeepaspect -framedrop
-autosync 100 -vf screenshot -font C:\WINDOWS\Fonts\Arial.ttf -priority
abovenormal -ao dsound:device=0 -sws 9 -af volnorm=2 "E:\SONGS\hindi
songs\aashiyan.mp3"

MPlayer Sherpya-SVN-r25803-4.2.2 (C) 2000-2008 MPlayer Team
CPU: Intel(R) Pentium(R) 4 CPU 3.06GHz (Family: 15, Model: 4, Stepping: 9)
CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2
Setting process priority: abovenormal
C:\WINDOWS\Fonts\Arial.ttf doesn't look like a bitmap font description, ignoring.
Cannot load bitmap font: C:\WINDOWS\Fonts\Arial.ttf

Playing E:\SONGS\hindi songs\aashiyan.mp3.
ID_AUDIO_ID=0
Audio file file format detected.
Clip info:
Title: aashiyan
ID_CLIP_INFO_NAME0=Title
ID_CLIP_INFO_VALUE0=aashiyan
Artist: 02
ID_CLIP_INFO_NAME1=Artist
ID_CLIP_INFO_VALUE1=02
Album:
ID_CLIP_INFO_NAME2=Album
ID_CLIP_INFO_VALUE2=
Year:
ID_CLIP_INFO_NAME3=Year
ID_CLIP_INFO_VALUE3=
Comment:
ID_CLIP_INFO_NAME4=Comment
ID_CLIP_INFO_VALUE4=
Genre: Blues
ID_CLIP_INFO_NAME5=Genre
ID_CLIP_INFO_VALUE5=Blues
ID_CLIP_INFO_N=6
ID_FILENAME=E:\SONGS\hindi songs\aashiyan.mp3
ID_DEMUXER=audio
ID_AUDIO_FORMAT=85
ID_AUDIO_BITRATE=128000
ID_AUDIO_RATE=44100
ID_AUDIO_NCH=0
ID_LENGTH=394.00
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
AUDIO: 44100 Hz, 2 ch, s16le, 128.0 kbit/9.07% (ratio: 16000->176400)
ID_AUDIO_BITRATE=128000
ID_AUDIO_RATE=44100
ID_AUDIO_NCH=2
Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
ao_dsound: cannot create a DirectSound device
Could not open/initialize audio device -> no sound.
Audio: no sound
Video: no video

Exiting... (End of file)

I have a new car multimedia system which plays only some of the songs from a cd (mp3 format), have tried playing the same cd in a different MM player of the same brand and exactly the same songs play there too . (the disk has 80 songs but it plays only around 10) in the other car stereos (of other brands) however, all the songs play perfectly!!!! I am bamboozled...I have no expert knowledge in this field so any help would be highly appreciated....
cheers,