Я ищу способ декодирования части моего массива объектов с помощью декодера jQuery base64 для jPlayer с использованием ttwMusicPlayer.
Массив:
var myPlaylist = [
{
mp3: 'aHR0cDovL2xvY2FsaG9zdC90aGVtZWxpdC9yb2NrbnJvbGxhL2ZpbGVzLzIwMTEvMTAvMDEtQnJpZGdlLUJ1cm5pbmcubXAz',
title: 'Bridge Burning',
artist: 'Rock N' Rolla',
cover: 'http://localhost/themelit/rocknrolla/files/2011/10/folder-300x300.jpg',
},{
mp3: 'aHR0cDovL2xvY2FsaG9zdC90aGVtZWxpdC9yb2NrbnJvbGxhL2ZpbGVzLzIwMTEvMTAvMDItUm9wZS5tcDM=',
title: 'Rope',
artist: 'Rock N' Rolla',
cover: 'http://localhost/themelit/rocknrolla/files/2011/10/folder-300x300.jpg',
},
];
Игрок:
$j('#audio-player').ttwMusicPlayer(myPlaylist, {
autoPlay: false,
description: albumdesc,
jPlayer: {
swfPath: swfpath,
solution: 'html, flash',
supplied: 'mp3',
}
});
Думая о создании функции для анализа myPlaylist как:
function maybe_decode(theObject) {
$j.each(theObject, function(value, key){
//console.log( $j.base64Decode(key.mp3) );
if( key.mp3 )
return $j.base64Decode( key.mp3 );
else
return key;
});
}
Точно не работает, нужно сохранить массив, но декодировать значение ключа mp3.
Мысли
UPDATE:
Вроде это работает с этим внутри Maybe_decode ()
var Values = [];
$j.each(theObject, function(idx, obj) {
$j.each(obj, function(key, value) {
if( key == 'mp3' )
value = $j.base64Decode( value );
Values.push(key + ": " + value);
//console.log(key + ": " + value);
});
});
console.log(Values);
return Values;
Единственная проблема заключается в том, что он сбрасывает массив из нескольких индексов (в данном случае 2) в один массив. Попытка вернуть его обратно в правильный формат массива ...