Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1

    [VB6] DirectSound (DX8) e temporizzazione

    Ciao a tutti,
    ho riscontrato alcuni problemi con l'oggetto DirectSound della DirectX 8.0 .

    Prima di tutto non riesco a capire in che formato la funzione GetCurrentTime mi restituisce il tempo.
    In secondo luogo non riesco a trovare una funzione che mi restituisce la durata totale del brano caricato.

    Qualcuno sa come posso fare?

    Grazie in anticipo.
    Alla prossima

  2. #2
    codice:
    dim posizione as long
    Dim cursore As DSCURSORS
    
       suono.GetCurrentPosition c
       posizione= cursore.lPlay
    dove suono è:
    Dim suono As DirectSoundSecondaryBuffer8
    già inizializzato che sta suonando
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  3. #3
    Ti ringrazio ma forse non mi sono spiegato bene:

    quello che non ho capito è in che formato mi restituisce il tempo la funzione GetCurrentPosition. Cioè mi restituisce, secondi, millesimi, centesimi ....?

    Inoltre non riesco a trovare il modo di calcolare la durata totale del brano caricato in suono.

    Grazie ancora

  4. #4
    io non so che oggetto usi per il metodo GetCurrentPosition

    ma questo metodo non restituisce niente riempie una struttura (DSCURSORS) con un offset di dati il cui membro lPlay restituisce 1/100000 * numerosecondi
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  5. #5
    Il problema è che per ricavare i secondi corenti durante l'esecuzione io ho diviso per 100000 ma sembra che vada al doppio della velocità.
    Ho dovuto arrivare a dividere per 190000 per avvicinarmi al secondo non è per nulla sicuro

    Sai come posso fare?

  6. #6
    allora ricominciamo
    GetCurrentPosition genera un offset di bites
    lo passi ad un cursore e lo converti in secondi


    codice:
    dim x as WAVEFORMATEX
    dim c as DSCURSOR
    dim posizione as long
    
       suono.GetCurrentPosition c
       posizione= c.lPlay / x.lAvgBytesPerSec
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  7. #7
    perfetto ora è chiaro. E se volessi conoscere la lunghezza totale del brano caricato?

  8. #8

  9. #9
    nessuno sa come conoscere la lunghezza di una traccia audio caricata con DirectSound??

  10. #10
    Originariamente inviato da Meldon
    nessuno sa come conoscere la lunghezza di una traccia audio caricata con DirectSound??
    che io sappia con directsound non la puoi sapere. Cmq questo codice dove lo devi mettere dentro un'applicazione che crea un device? perchè altrimenti senza problemi ti conviene usare directshow
    vedi qua
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.