Soundmanager 2不播放mp4文件 - 使用PHP脚本输出时

时间:2012-04-16 10:45:26

标签: php javascript soundmanager2

这是一个奇怪的,

Soundmanager在使用PHP输出时根本不会播放MP4。

soundManager.createSound({
    id: 'sm2-1001',

    url: 'http://mysite.tld/1333092566.mp3', // WORKS
//  url: [{type: 'audio/mp3', url: 'http://mysite.tld/outputmp3.php}], // WORKS
//  url: 'http://mysite.tld/1333092566.mp4', // WORKS
//  url: [{type: 'audio/mp4', url: 'http://mysite.tld/outputmp4.php}], // DOES NOT WORK

    autoLoad: false,
    autoPlay: true,
});

网址是正确的,从浏览器转到http://mysite.tld/outputmp4.php - 打开并播放就好了。

使用smartReadFile.php https://jplayer.googlegroups.com/attach/f308294ddea52f6c/smartReadFile.php?view=1&part=4

使用最新版本的SM2

来自SM2的调试信息:

soundManager.createSound(): sm2-1001 (http://mysite.tld/outputmp4.php)
soundmanager2.js (line 1110)
SMSound() merged options: { id: sm2-1001, url: http://mysite.tld/outputmp4.php, autoLoad: false, autoPlay: true, loops: 1, multiShot: true, multiShotEvents: false, pan: 0, stream: true, usePolicyFile: false, volume: 100, usePeakData: false, useWaveformData: false, useEQData: false, bufferTime: 3 }
soundmanager2.js (line 1112)
SMSound.play(): "sm2-1001" is loading - attempting to play..
soundmanager2.js (line 1110)
SMSound.play(): "sm2-1001" is starting to play
soundmanager2.js (line 1112)
SMSound._onload(): "sm2-1001" loaded.
soundmanager2.js (line 1110)
(Flash): correcting sound sm2-1001 end position (0) to length: 4602

有什么想法吗?请帮忙。感谢。

2 个答案:

答案 0 :(得分:0)

audio/mp4不是正确的mimetype,因为mp4是(专为)视频而设计的。尝试使用video/mp4,或只使用audio/mpeg

答案 1 :(得分:0)

强制此选项为TRUE解决了这个问题。

 'isMovieStar': null,      // "MovieStar" MPEG4 audio mode. Null (default) = auto detect MP4, AAC etc. based on URL. true = force on, ignore URL

此外,必须应用此选项,因为从Flash9开始支持isMovieStar。

soundManager.flashVersion = 9;