개발중인 애플리케이션의 경우 특정 YouTube 동영상의 재생 시간을 알아야합니다. YouTube API V3에 .NET 라이브러리를 사용하고 있습니다.FileDetails를 요청할 때 YouTube API가 null을 반환합니다.
FileDetails의 durationMs 속성을 요청하면 일부 비디오에서는 작동하지만 다른 비디오에서는 모두 null로 반환됩니다 (모두 완전히 처리됨). 동영상은 모두 미등록 상태이므로 계속해서 문제가되는 동영상의 ID를 공개하고 싶지는 않습니다.
이 문제의 원인은 무엇입니까? API에서 오류가 발생하지 않으며 컨테이너 (MOV)를 얻지 만 기간과 같은 속성은 모두 null입니다.
관련 코드 스 니펫을 포함 시켰습니다.
var videosListRequest = youtube.Videos.List("processingDetails,FileDetails");
videosListRequest.Id = file.FileName;
videosListRequest.OauthToken = Authresult.Result.Credential.Token.AccessToken;
VideoListResponse vlr = videosListRequest.Execute();
if (vlr.Items.Count > 0 && vlr.Items[0].ProcessingDetails.ProcessingStatus == "succeeded")
{
file.IsVideoProcessed = true;
int durationInS = (int)(vlr.Items[0].FileDetails.DurationMs/1000.0);
UpdateVideoStatus(file.Id, ClientId.Value, MediaStatus.READY, durationInS);
}