Come riprodurre un clip di file
[MFPlay è disponibile per l'uso nei sistemi operativi specificati nella sezione Requisiti. È possibile che in versioni successive sia stata modificata o non sia più disponibile. ]
Questo argomento descrive come riprodurre un segmento di un file multimediale in MFPlay impostando l'ora di inizio e di arresto per la riproduzione.
Per riprodurre un clip di file
- Chiama IMFPMediaPlayer::CreateMediaItemFromURL o IMFPMediaPlayer::CreateMediaItemFromObject per creare un elemento multimediale per il file.
- Facoltativamente, ottenere la durata totale del file, come descritto in Come ottenere la durata della riproduzione.
- Chiamare IMFPMediaItem::SetStartStopPosition per impostare l'ora di inizio e arresto. L'ora di arresto non deve superare la durata del file.
- Chiama IMFPMediaPlayer::SetMediaItem per avviare la riproduzione.
Nell'esempio seguente viene usata la versione di blocco di CreateMediaItemFromURL. Se viene usata la versione non bloccabile, il codice visualizzato dopo CreateMediaItemFromURL deve essere inserito nel gestore per l'evento MFP_EVENT_TYPE_MEDIAITEM_CREATED . Per altre informazioni sugli eventi in MFPlay, vedere Ricezione di eventi dal lettore.
Per ottenere la durata del file, questo esempio chiama la GetPlaybackDuration
funzione illustrata nell'argomento Come ottenere la durata della riproduzione.
HRESULT PlayMediaClip(
IMFPMediaPlayer *pPlayer,
PCWSTR pszURL,
LONGLONG hnsStart,
LONGLONG hnsEnd
)
{
IMFPMediaItem *pItem = NULL;
PROPVARIANT varStart, varEnd;
ULONGLONG hnsDuration = 0;
HRESULT hr = pPlayer->CreateMediaItemFromURL(pszURL, TRUE, 0, &pItem);
if (FAILED(hr))
{
goto done;
}
hr = GetPlaybackDuration(pItem, &hnsDuration);
if (FAILED(hr))
{
goto done;
}
if ((ULONGLONG)hnsEnd > hnsDuration)
{
hnsEnd = hnsDuration;
}
hr = InitPropVariantFromInt64(hnsStart, &varStart);
if (FAILED(hr))
{
goto done;
}
hr = InitPropVariantFromInt64(hnsEnd, &varEnd);
if (FAILED(hr))
{
goto done;
}
hr = pItem->SetStartStopPosition(
&MFP_POSITIONTYPE_100NS,
&varStart,
&MFP_POSITIONTYPE_100NS,
&varEnd
);
if (FAILED(hr))
{
goto done;
}
hr = pPlayer->SetMediaItem(pItem);
done:
SafeRelease(&pItem);
return hr;
}
Requisiti
MFPlay richiede Windows 7.
Argomenti correlati
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per