Méthode IMFPMediaItem ::SetStartStopPosition (mfplay.h)
Définit l’heure de début et d’arrêt de l’élément multimédia.
Syntaxe
HRESULT SetStartStopPosition(
[in] const GUID *pguidStartPositionType,
[in] const PROPVARIANT *pvStartValue,
[in] const GUID *pguidStopPositionType,
[in] const PROPVARIANT *pvStopValue
);
Paramètres
[in] pguidStartPositionType
Unité de temps pour la position de début. Consultez la section Notes. Ce paramètre peut être NULL.
[in] pvStartValue
Position de début. La signification et le type de données de ce paramètre sont indiqués par le paramètre pguidStartPositionType . Le paramètre pvStartValue doit avoir la valeur NULL si pguidStartPositionType a la valeur NULL et ne peut pas être NULL dans le cas contraire.
[in] pguidStopPositionType
Unité de temps pour la position d’arrêt. Consultez la section Notes. Ce paramètre peut être NULL.
[in] pvStopValue
Position d’arrêt. La signification et le type de données de ce paramètre sont indiqués par le paramètre pguidStopPositionType . Le paramètre pvStopValue doit avoir la valeur NULL si pguidStopPositionType a la valeur NULL et ne peut pas être NULL dans le cas contraire.
Valeur retournée
Cette méthode retourne un code HRESULT. Les valeurs possibles sont notamment celles figurant dans le tableau suivant.
Code de retour | Description |
---|---|
|
S_OK |
|
Argument non valide. |
|
Heure de début ou d’arrêt non valide. L’un des éléments suivants peut provoquer cette erreur :
|
Remarques
Par défaut, un élément multimédia est lu du début à la fin du fichier. Cette méthode ajuste l’heure de début et/ou l’heure d’arrêt :
- Pour définir l’heure de début, transmettez des valeurs non NULL pour pguidStartPositionType et pvStartValue.
- Pour définir l’heure d’arrêt, transmettez des valeurs non NULL pour pguidStopPositionType et pvStopValue.
Valeur | Description |
---|---|
MFP_POSITIONTYPE_100NS | Unités de 100 nanosecondes. Le paramètre time (pvStartValue ou pvStopValue) utilise le type de données suivant :
|
Les heures de début et d’arrêt ajustées sont utilisées la prochaine fois qu’IMFPMediaPlayer ::SetMediaItem est appelé avec cet élément multimédia. Si l’élément multimédia est déjà défini sur le lecteur, la modification ne se produit pas, sauf si vous appelez à nouveau SetMediaItem .
Exemples
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;
}
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 7 [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 R2 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | mfplay.h |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour