IMFPMediaItem::SetStartStopPosition-Methode (mfplay.h)
Legt die Start- und Stoppzeit für das Medienelement fest.
Syntax
HRESULT SetStartStopPosition(
[in] const GUID *pguidStartPositionType,
[in] const PROPVARIANT *pvStartValue,
[in] const GUID *pguidStopPositionType,
[in] const PROPVARIANT *pvStopValue
);
Parameter
[in] pguidStartPositionType
Zeiteinheit für die Startposition. Siehe Hinweise. Dieser Parameter kann NULL sein.
[in] pvStartValue
Startposition. Die Bedeutung und der Datentyp dieses Parameters werden durch den pguidStartPositionType-Parameter angegeben. Der parameter pvStartValue muss NULL sein, wenn pguidStartPositionTypeNULL ist und andernfalls NICHT NULL sein kann.
[in] pguidStopPositionType
Zeiteinheit für die Stoppposition. Siehe Hinweise. Dieser Parameter kann NULL sein.
[in] pvStopValue
Stoppposition. Die Bedeutung und der Datentyp dieses Parameters werden durch den pguidStopPositionType-Parameter angegeben. Der parameter pvStopValue muss NULL sein, wenn pguidStopPositionTypeNULL ist und andernfalls NICHT NULL sein kann.
Rückgabewert
Die Methode gibt ein HRESULT zurück. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Die Methode wurde erfolgreich ausgeführt. |
|
Ungültiges Argument. |
|
Ungültige Start- oder Stoppzeit. Folgendes kann diesen Fehler verursachen:
|
Hinweise
Standardmäßig wird ein Medienelement vom Anfang bis zum Ende der Datei wiedergegeben. Diese Methode passt die Startzeit und/oder die Stoppzeit an:
- Um die Startzeit festzulegen, übergeben Sie Nicht-NULL-Werte für pguidStartPositionType und pvStartValue.
- Um die Stoppzeit festzulegen, übergeben Sie Nicht-NULL-Werte für pguidStopPositionType und pvStopValue.
Wert | BESCHREIBUNG |
---|---|
MFP_POSITIONTYPE_100NS | Einheiten von 100 Nanosekunden. Der Zeitparameter (pvStartValue oder pvStopValue) verwendet den folgenden Datentyp:
|
Die angepassten Start- und Stoppzeiten werden beim nächsten Aufruf von IMFPMediaPlayer::SetMediaItem mit diesem Medienelement verwendet. Wenn das Medienelement bereits auf dem Player festgelegt ist, erfolgt die Änderung nur, wenn Sie SetMediaItem erneut aufrufen.
Beispiele
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;
}
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 7 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 R2 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | mfplay.h |
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für