Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [C#] directX audio

    Buongiorno a tutti

    stavo cercando di eseguire un mp3 con una mia applicazione [ho preso spunto da una discussione che ho trovato in questa sezione].
    premetto che è stato un po' un casino, perchè non avevo installato sul p i directX, e allora ho fatto una ricerca eccetera e ho scaricato il direct x

    per aggiungere dunque un reference al mio progetto, non lo trovo nelle schede ".NET" o "COM", bensì devo cercarlo nel computer... una volta trovate le dll, ho fatto riferimento a:

    Microsoft.DirectX.AudioVideoPlayback
    Microsoft.DirectX

    E poi, all'eseguirsi dell'plicazione, mi saltano fuori delle strane eccezioni delle quali riporto le diciture:

    "Tentativo di esecuzione gestita da parte della DLL 'C:\Users\Samuele\Documents\Visual Studio 2005\Projects\Audio\Audio\bin\Release\Microsoft.Di rectX.AudioVideoPlayback.dll' all'interno del blocco OS Loader. Non provare a eseguire codice gestito all'interno di una DllMain o di una funzione di inizializzazione delle immagini. Questa operazione può causare il blocco dell'applicazione."

    e anche:

    [FileNotFoundError]
    "Impossibile trovare il modulo specificato. (Eccezione da HRESULT: 0x8007007E)"

    benchè il nome del file, ho ricontrollato più e più volte è corretto!

    come mai, sa fao?

    Grazie ( e spero che qualcuno riesca a rispondermi!!!)
    Programmazione .NET
    http://www.samueletosatto.tk

  2. #2

  3. #3
    Codice PHP:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using Microsoft.DirectX;
    using AudioR Microsoft.DirectX.AudioVideoPlayback;

    namespace 
    Audio1
    {
        public 
    partial class Form1 Form
        
    {

           
    AudioR.Audio suono;

            private 
    void button1_Click(object senderEventArgs e)
            {
                
    playMP3();
            }

            private 
    void playMP3()
            {
                
    suono = new AudioR.Audio("californication.mp3");
                
    suono.Play();
            }

            public 
    Form1()
            {
                
    InitializeComponent();
            }

            private 
    void Form1_Load(object senderEventArgs e)
            {

            }
        }

    Ho anche fatto lo stesso identico progetto in VB .net ma non funzionava
    Programmazione .NET
    http://www.samueletosatto.tk

  4. #4
    Potrebbe essere che non funziona perchè ho windows vista?
    Qualcuno che ha queste librerie, può provare il codicee vedere se funziona?
    magari è solo colpa di vista, oppure la registrazione delle dll non è avvenuta correttamente.
    [Ho anche provato a riregistrarle con regsvr32, ma sembrerebbe non volerne sapere di registrare queste librerie, ma ancora una volta magari è colpa del "protezionismo" di vista]
    Programmazione .NET
    http://www.samueletosatto.tk

  5. #5
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Non mi risultano incompatibilità con Vista. Comunque io uso XP SP2.

    Il codice mi sembra OK, io uso +/- lo stesso codice e, a me funziona.

    C'è una cosa che mi lascia perplesso: nel tuo primo post scrivi di ricevere questo errore

    "Tentativo di esecuzione gestita da parte della DLL 'C:\Users\Samuele\Documents\Visual Studio 2005\Projects\Audio\Audio\bin\Release\Microsoft.Di rectX.AudioVideoPlayback.dll'

    ma non dovrebbe essere, perchè la DLL non deve essere copiata in bin\release, quindi significa che il tuo flag Copia localmente è impostato su True, mentre dovrebbe essere su False.
    Verifica ed impostalo a False per entrambe le DLL Microsoft.DirectX.

    Anch'io ho fatto lo stesso progetto in VB.NET e mi funziona anche lì.

    Un'altra cosa che sospetto è che il file californication.mp3 non sia raggiungibile.
    Hai verificato ? O forse si blocca prima che arrivi a quella riga di codice?

    Ciao

  6. #6
    Dunque la questione è un po' controversa, ho fatto numerose prove... avevo già provato a rendere la libreria non locale diciamo, cioè fare in modo impostando la proprietà che mi hai detto, che non venga copiata in bin/relase...
    però impostando local=false, non funziona, proprio non costruisce l'eseguibile

    invece l'eccezione file not found, non è relativa al file californication.mp3, 1) perchè il percorso l'ho ricontrollato più volte, ed è corretto.
    ma poi ho scoperto che questa eccezione viene lanciata sempre alla prima istruzione della funzione playMP3(). Sempre, poichè essa contiene delle istruzioni che dovrebero far parte della libreria.
    Io ho il forte sospetto che la libreria non sia installata in windows, che non sia registrapa, poichè non compare neppure nei reference COM e neppure .NET, e la cosa qui diviene sospetta.
    Ho inoltre scaricato eseguibili (perciò non compilati sul mio pc) che dovrebbero sfruttare le librerie in questione (erano degli eseguibili di un programma d'esempio di un sito che spiegava come utilizzare le librerie.)... e immaginate?
    Davano le stesse eccezioni in fase d'esecuzione. Stesse identiche.
    Cacchio. A breve tolgo vista, sarà una fattalità ma da quando ho questo sistema oparativo, nnt funziona come dovrebbe!!! grrrr... ritornerò al mitico xp.
    Programmazione .NET
    http://www.samueletosatto.tk

  7. #7
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Non mi risulta che quella libreria sia installata in automatico.
    Se non la trovi nei riferimenti, allora non è installata.

    Io ho scaricato ed installato questa:

    DirectX SDK (march 2008)

    e nei riferimenti mi trovo questi:
    - Microsoft.DirectX ver. 1.0.2902.0
    - Microsoft.DirectX.AudioVideoPlayback ver. 1.0.2902.0

    Scarica ed installa, sono convinto che funziona.
    Il link non lo ricordo, ma la trovi subito con Google.
    Non credo che M$ distribuisca nel 2008 librerie non compatibili con Vista.
    Va beh, a pensarci bene, non si sa mai... VVoVe:

    Ciao

  8. #8
    appunto, ho installato proprio questo file... vabbè provo a riscaricarlo, magari nel download s'è trasferito qualche errore... riprovo... dopodichè se nn va, cancello vista dal mio pc!
    Programmazione .NET
    http://www.samueletosatto.tk

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.