Problem z biblioteką FMOD

Dział z pytaniami o absolutne podstawy programowania w C# (dla początkujących).

Moderator: xxSlayeRxx

Problem z biblioteką FMOD

Sponsor

Sponsor
 

Problem z biblioteką FMOD

Postprzez Lski » Cz cze 18, 2015 11:55 am

Witam,

Podczas próby uruchomienia swojego pierwszego programu "Hello FMOD" otrzymuję komunikat iż " Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu." dla
Kod: Zaznacz cały
fmodsystem.init(32, FMOD.INITFLAGS.NORMAL, (IntPtr)null);
Nie wiem jak to uczynić.
Błąd dotyczy linii inicjującej FMOD.

Kod: Zaznacz cały
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace kolejnyFmod
{
    public partial class Form1 : Form
    {

        //FMOD Sound
        private FMOD.System fmodsystem = null;
        private FMOD.Channel fmodchannel = null;
        private bool playing = false;
        private FMOD.Sound fmodsound = null;

        private void InitSound()
        {
            //Create FMOD System
            FMOD.Factory.System_Create(ref fmodsystem);

            //Initialise FMOD
            fmodsystem.init(32, FMOD.INITFLAGS.NORMAL, (IntPtr)null);

            //Create Sounds
           
            fmodsystem.createSound(@"swish.wav", FMOD.MODE.HARDWARE, ref fmodsound);
        }

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (fmodchannel != null)
                fmodchannel.isPlaying(ref playing);

            if (!playing)
            {
                fmodsystem.playSound(FMOD.CHANNELINDEX.FREE, fmodsound, false, ref fmodchannel);
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            InitSound();
        }
    }
}


Oczywiście pliki fmod.cs, fmod_dsp.cs, fmod_errors.cs, fmod_memoryinfo.cs i fmodex.dll zostały dołaczone do projektu.

Używam VS Community 2013 z najnowszą biblioteką FMOD, .NET Framework 3.5.

Proszę o pomoc w rozwiązaniu problemu

Ps. We wszystkich tutorialach dotyczących C#, w przykładowym kodzie używane jest "FMOD.INITFLAG.NORMAL" co powoduje informację o błędzie. Użycie "INITFLAGS" zostaje rozpoznane jako prawidłowe. (informacja potwierdzona jednym z komentarzy ze strony: https://norberdo.wordpress.com/2009/01/ ... -tutorial/ - niestety kod umieszczony na tej stronie zgłasza dokładne taki sam błąd :-?
Lski
New member
 
Posty: 7
Dołączył(a): So maja 09, 2015 9:55 pm

Re: Problem z biblioteką FMOD

Postprzez xxSlayeRxx » So cze 20, 2015 12:40 am

(IntPtr)null
xxSlayeRxx
Member
 
Posty: 661
Dołączył(a): Pt lip 08, 2011 10:24 pm

Re: Problem z biblioteką FMOD

Postprzez Lski » So cze 20, 2015 10:49 am

Dziękuję za odpowiedź.
Proszę o informację co Pan ma na myśli wskazując na:
xxSlayeRxx napisał(a):(IntPtr)null


Zgodnie z dokunetacją biblioteki FMOD "IntPtr" dla składni C# jest parametrem wskazującym na "extradriverdata". Jest to parametr opcjonalny, a przypisanie mu wartości 0 lub null powoduje że jest ignorowany. Co wydaje się nie działać w w/w kodzie.
Jakakolwiek próba zmiany zapisu dla tego parametru inna niż przypisanie 0 lub null czy też próba pominięcia go, powoduje zgłoszenie błędu przez intellisense.
Lski
New member
 
Posty: 7
Dołączył(a): So maja 09, 2015 9:55 pm

Re: Problem z biblioteką FMOD

Postprzez xxSlayeRxx » So cze 20, 2015 3:47 pm

jesli w przykladzie miales (IntPtr)null to ok, ale wydje mi sie, ze powinno byc samo null, albo lepiej 0 lub IntPtr.Zero;

jesli to nie to to wez ustaw breakpointa na ta linie i sprawdz ktora wartosc jest null (moze fmod nie stworzy ci systemmod)

parametr ref (w przeciwienstwie do out) ma to do siebie, ze moze potrzebowac zainicjowana wartosc, czyli nie koniecznie jest poprawne:
FMOD.System fmodsystem = null;
FMOD.Factory.System_Create(ref fmodsystem);
xxSlayeRxx
Member
 
Posty: 661
Dołączył(a): Pt lip 08, 2011 10:24 pm

Re: Problem z biblioteką FMOD

Sponsors

Sponsor
 


Powrót do Newbie

Kto przegląda forum

Użytkownicy przeglądający ten dział: Google [Bot], Google Adsense [Bot] i 6 gości