У меня тоже была такая проблема.Я работал на том же примере, который я сильно модифицировал и включил в целую коллекцию классов, из которых я сделал коллажи.Что мне действительно нужно, так это превью от Amazon с указанием исполнителя и названия альбома.Я собираюсь продолжать работать над этим, теперь, когда у меня все еще слишком много времени в моих руках.Моя кодовая база mashup здесь:
Мой Mashup и кодовая база
Я продолжаю получать рефералов по этому вопросу, мое решение в основном такое же, как у Криса, у меня есть два методафункции, которые делают это в моем коде:
/**
* Return the tracks found on an album, have to page to get them all which this method does not do.
*
* @param string $albumTitle
* @param string $artist
* @return mixed simpleXML object
*/
public function getMP3sForAlbumByArtist($albumTitle, $artist)
{
$searchTerm = $albumTitle . ' ' . $artist;
$parameters = array("Operation" => "ItemSearch",
"Keywords" => $searchTerm,
"SearchIndex" => AmazonProductAPI::CATEGORY_MP3_DOWNLOADS,
"ResponseGroup" => AmazonProductAPI::RESPONSE_GROUP_TRACKS);
$xml_response = $this->queryAmazon($parameters);
return $xml_response;
}
/**
* Return the tracks found on a song title and artist
*
* @param string $songTitle
* @param string $artist
* @return mixed simpleXML object
*/
public function getMP3ForSongByArtist($songTitle, $artist)
{
$searchTerm = $songTitle . ' ' . $artist;
$parameters = array("Operation" => "ItemSearch",
"Keywords" => $searchTerm,
"SearchIndex" => AmazonProductAPI::CATEGORY_MP3_DOWNLOADS,
"ResponseGroup" => AmazonProductAPI::RESPONSE_GROUP_TRACKS);
$xml_response = $this->queryAmazon($parameters);
return $xml_response;
}
Мой код доступен для загрузки по вышеуказанной ссылке или находится в GitHub, он основан на старых примерах кода, которые я обновил.Он работает нормально на моем хосте, но iTunes лучше для предварительного просмотра песен.