前の回答の1つで述べたように、6028エラーコードを確認する必要があります
この問題を解決するには (期限切れの永続ライセンスの場合)、MediaFailed >event ハンドラーを使用する必要があります。ハンドラーでは、エラー コードが 6028 の場合、LicenseAcquirer > を使用してライセンスを取得するだけです。LicenseAcquirer は、カスタムの LicenseAcquirer または SSME のデフォルトの >LicenseAcquirer にすることができます。
以下の例に示すように、カスタム ライセンス アクワイアラを使用しました。
protected void OnMediaFailed(object sender, CustomEventArgs<Exception> e)
{
if (e.Value.Message.StartsWith("6028"))
{
//Get Manifest Info Somehow
........
//our custom acquirer initialization
var acquirer = new ManualLicenseAcquirer();
if (manifestInfo != null
&& manifestInfo.ProtectionInfo != null
&& manifestInfo.ProtectionInfo.ProtectionHeader != null)
{
acquirer.AcquireLicenseCompleted += this.OnLAcquirerCompleted;
acquirer.AcquireLicenseAsync(manifestInfo.ProtectionInfo.ProtectionHeader.ProtectionData);
}
else
{
this.ShowCustomError("Manifest info is null or protection header is null", true, true);
}
}
private void OnLAcquirerCompleted(object sender, AcquireLicenseCompletedEventArgs e)
{
if (e.Error != null)
{
this.ShowCustomError(string.Format("Server response error: {0}", e.Error), true, true);
}
else if (e.Cancelled)
{
this.ShowCustomError(string.Format("Manual license acquier request was cancelled"), true, true, true);
}
else
{
this.Play();
}
}