NSSound - waveform dans un NSView

iLandesiLandes Membre
octobre 2010 modifié dans API AppKit #1
Bonjour,

Je cherche à  dessiner dans un NSView l'onde (waveform) d'un son contenu dans un NSSound.

La documentation m'a amener à  télécharger le projet WaveFormViewDemo mais je n'arrive pas à  le faire fonctionner...

D'avance merci pour l'aide....


edit :
Niveau du sujet débutant -> expert.

Réponses

  • laudemalaudema Membre
    12:02 modifié #2
    Bonjour,

    Tu ne peux pas le lancer directement. Si tu regardes la cible (target dans ton projet) tu verras deux plugins que tu dois utiliser dans une autre application.
    Cette page ci semble indiquer AULab comme hôte possible et efficace http://lists.apple.com/archives/coreaudio-api/2009/Nov/msg00284.html.
    AULab tapé dans la fenêtre de recherche de la documentation Xcode renvoie à  l'appli FilterDemo, sinon AULab semble disponible au téléchargement ici http://www.macmusic.org/software/view.php/lang/fr/id/3984/AU-Lab
    hth
    PS : je doute d'un niveau débutant pour ce sujet
  • CéroceCéroce Membre, Modérateur
    12:02 modifié #3
    NSSound est une classe très simple qui sert à  jouer un échantillon tout bête... tu ne vas pas aller loin avec.

    Le mieux est de:
    1) récupérer les échantillons du son => voir la doc de Core Audio pour charger un son en mémoire.
    2) dessiner leurs amplitudes dans une bitmap offscreen => utiliser NSBitmapImageRep, ou mieux, CGBitmapContext (voir la doc de Core Image) et écrire directement dans la bitmap.
    3) afficher la bitmap.

    Tout cela est de très bas niveau, mais il n'y a pas le choix si tu veux que ça aille vite.
  • iLandesiLandes Membre
    12:02 modifié #4
    Merci pour les informations, je vous puiser là  dedans...

    NOTA POUR ADMINISTRATEUR DU FORUM

    Cette documentation concerne les Class Cocoa et non pas Cocoa Touch. J'ai re-posté dans le bon forum. Peut être qu'un administrateur pourrait ranger aussi les réponses dans le bon forum.

    Désolé pour la gêne occasionnée

    Cordialement

    sr
  • iLandesiLandes Membre
    12:02 modifié #5
    Bonjour,

    Dans la doc j'ai trouvé un exemple : WaveformViewDemo

    Mais impossible de le compiler....
  • mpergandmpergand Membre
    12:02 modifié #6
    Dans quel but ?
    Juste pour faire joli,
    ou pour autre chose (édition ?)

  • iLandesiLandes Membre
    12:02 modifié #7
    bonjour,

    le but est de déterminer un point d'entrée et de sortie graphiquement à  l'aide de la souris

    cordialement
  • mpergandmpergand Membre
    12:02 modifié #8
    Ok, déjà  il te faut abandonner NSSound pour QTKit
    ensuite pour le traitement, si QTKit ne le permet pas,  il faudra passer par les API QuickTime ou coreAudio
    et c'est du très lourd !

    A ce niveau, on ne peux guère t'aider, sauf à  faire l' appli à  ta place.

    Donc, va falloir lire une tonne de doc, prévoir de l'aspirine et beaucoup de patience.
    Mais c'est faisable si tu en as la volonté.


    Je te conseille de regarder dans les Apple dev-list QuickTime et core audio, tu devrais y trouver ton bonheur.

    ex:
    http://lists.apple.com/archives/quicktime-java/2010/Jan/msg00002.html
    http://lists.apple.com/archives/quicktime-api/2007/Nov/msg00176.html

    Bon courage.
  • iLandesiLandes Membre
    12:02 modifié #9
    Bonjour et Merci pour l'aide.

    Effectivement cela ne m'a pas l'air si simple...

    Je vais donc finir mon appli avec NSSound : l'utilisateur entrera les points d'entrée et de fin de manière non graphique pour le moment (dans un NSTextField).

    Je crains de toute les façons la prochaine mise à  jour de l'OS au niveau coreaudio / qtime... Mais peut-être que NSSound intégrera une nouvelle methode qui renvoi un NSView du son. On peut toujours rêvé

    Je vous tiendrai au courant.

    Encore merci
Connectez-vous ou Inscrivez-vous pour répondre.