私はYoutube Apiを使用する音楽サイトを持っています。私はサイズでビデオをフィルタリングしたいです。高画質のビデオがある場合、コンサートなどが表示されるため、低速インターネット接続でストリーミングが邪魔になることがあります。 また、私は純粋なミュージックビデオを表示したい。私はコンサートのレコード、カバーやリミックスなどを表示したくないです。元の音楽レコードをフィルタリングするためにどの方法で休止しますか?これは、検索結果からHDビデオを除外することはできません、私が使用していた検索コードがyoutube api filtered検索
/*
$params: string, artist_name - song
returns an array >> video_id, video name, video length
*/
function youtube_find_video($params)
{
str_replace("'", "", $params);
$q = preg_replace('/[[:space:]]/', '/', trim($params));
$q = utf8_decode(utf8_encode($q));
$replacements = array(',', '?', '!', '.');
$q = str_replace($replacements, "", $q);
$feedURL = "http://gdata.youtube.com/feeds/api/videos/-/{$q}?orderby=relevance&max-results=1";
$sxml = simplexml_load_file($feedURL);
if(!$sxml)
{
return false;
}
else{
$entry = $sxml->entry;
if(!$entry)
{
return false;
}
// get nodes in media: namespace for media information
$media = $entry->children('http://search.yahoo.com/mrss/');
if($media)
{
// get video player URL
$attrs = $media->group->player->attributes();
$url = $attrs['url'];
if(!$url)
{
return false;
break;
}
parse_str(parse_url($url, PHP_URL_QUERY), $my_array_of_vars);
$watch['id'] = $my_array_of_vars['v'];
// get video name
$watch['name'] = $media->group->title;
// get <yt:duration> node for video length[minute]
$yt = $media->children('http://gdata.youtube.com/schemas/2007');
$attrs = $yt->duration->attributes();
$watch['length'] = sprintf("%0.2f", $attrs['seconds']/60);
$watch = simplexml_kurtul($watch);
return $watch;
}
else
{
return false;
}
}
}
ようこそ。あなたの質問は何ですか、何がうまくいかないのですか? –
ありがとう:)そのコードは正常に動作しますが、私はそれを改善したいと思います。どちらの方法で元のミュージックビデオをフィルタリングするのですか?ない、コンサート、カバーまたはリミックス。オリジナルの純粋なミュージックビデオ。 – Tahtakafa