Odpowiedz na ten temat
Pokaż wyniki od 1 do 9 z 9
  1. Avatar duzers
    Dołączył
    Nov 2005
    Skąd
    Dolny Śląsk
    Postów
    123

    Cytuj | #1

    Chciałbym aby po wciśnięciu przycisku w aplikacji słychać było dźwięk.
    Wiem, wiem banalnie proste dla niektórych, myślałem że dla mnie też ale tutaj opis problemu.

    Przy tworzeniu przycisku i połączeniu z dźwiękiem (sound1.wav) na jednym ekranie nie ma problemu. Działa.

    Schody (jak dla mnie nie do przeskoczenia) pojawiają się po dodaniu drugiego ekranu i drugiego przycisku oraz nowego dźwięku (sound2.wav)

    Dodaję wszystko jak przy pierwszym i niestety nic nie słychać (pierwszy działa cały czas)

    W ViewController.m wstawiam:
    Kod php:
    #import "ViewController.h"

    @implementation ViewController

    -(IBAction)sound1 {
        
        
    CFBundleRef mainBundle CFBundleGetMainBundle();
        
    CFURLRef soundFileURLRef;
        
    soundFileURLRef CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"sound1"CFSTR ("wav"), NULL);
        
    UInt32 soundID;
        
    AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID);
        
    AudioServicesPlaySystemSound(soundID);
    }

    -(
    IBAction)sound2 {
        
        
    CFBundleRef mainBundle CFBundleGetMainBundle();
        
    CFURLRef soundFileURLRef;
        
    soundFileURLRef CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"sound2"CFSTR ("wav"), NULL);
        
    UInt32 soundID;
        
    AudioServicesCreateSystemSoundID(soundFileURLRef, &soundID);
        
    AudioServicesPlaySystemSound(soundID);


    ...

    a w ViewControlller.h
    Kod php:
    #import <UIKit/UIKit.h>
    #import <AudioToolbox/AudioToolbox.h>

    @interface ViewController UIViewController

    -(IBAction)sound1;
    -(
    IBAction)sound2;

    @
    end 
    Czuję, że to musi być jakoś rozdzielona na inne ekrany ale nie wiem jak to wykonać.

    Proszę o sugestie lub fragment poprawnego kodu.
    Ostatnio edytowane przez wojtkow ; 03.12.2011 o 19:13 Powód: dodane znaczniki
    Komputer: iMac 24" 2.8 - iPad - iPod Touch
    Odtwarzacz: iPod Touch
    Tablet: iPad
    Moje portfolio - [url]www.bernatek.eu[/url]


  2. Avatar duzers
    Dołączył
    Nov 2005
    Skąd
    Dolny Śląsk
    Postów
    123

    Cytuj | #2

    Sprawdziłem jeszcze raz. Na pierwszym ekranie można dodawać dowolną ilość przycisków i dźwięków (działają) a na następnych ekranach cisza.
    Komputer: iMac 24" 2.8 - iPad - iPod Touch
    Odtwarzacz: iPod Touch
    Tablet: iPad

  3. Avatar Krzema
    Dołączył
    Jul 2008
    Skąd
    Gdańsk, PL
    Postów
    181

    Cytuj | #3

    Co masz na myśli przez "ekran"? Osobny UIViewController i osobny plik XIB? Jak chcesz to wstaw zzipowane wszystkie pliki przykładowego projektu. Tak będzie łatwiej zobaczyć co jest nie tak.

  4. Avatar duzers
    Dołączył
    Nov 2005
    Skąd
    Dolny Śląsk
    Postów
    123

    Cytuj | #4

    Próbuję zrobić stronę startową z przyciskiem Dalej. Następna strona (ekran) to powiedzmy menu. Tam też ma być przycisk powrotu do startowej. Dodaję do MainStoryboard dwa ViewController, dodaję przyciski, linkuję każdy z każdym i próbuję dodać do nich dźwięk słyszany po kliknięciu. Działa tylko na pierwszym (u mnie to strona startowa).
    Komputer: iMac 24" 2.8 - iPad - iPod Touch
    Odtwarzacz: iPod Touch
    Tablet: iPad
    Moje portfolio - [url]www.bernatek.eu[/url]

  5. Avatar Bananera
    Dołączył
    Oct 2010
    Skąd
    Szczecin
    Postów
    198

    Cytuj | #5

    Z tego co zrozumiałem: Posiadasz dwa UIViewController'y, na pierwszym z nich wszystko ładnie śmiga, a na drugim nie.

    Pytanie: Na górze podałeś implementacje jednego z nich, ale nie podałeś drugiego. Na pierwszym są dwie akcje. Sound2 - prawdopodobnie ma odtwarzać dźwięk ten który nie działa. Skoro ten dzwiek ma być odtwarzany w innym UIViewControllerze to dlaczego kod jest w tym pierwszym.

    Sprawdź także połączenia UIButtonów do odpowiednich akcji.

    Jak czegoś nie zrozumiałem to proszę o poprawienie mnie.

    Pozdrawiam,
    Arek
    Komputer:  MacBook Białas 13" :)
    Telefon:  iPhone 3g 8Gb
    Odtwarzacz:  iPhone 3g 8Gb
    Tablet:  iPad 16gb WiFi
    Zapraszam na MacWyznawca.pl

  6. Avatar macieks72

    Dołączył
    Aug 2009
    Postów
    9,327

    Cytuj | #6

    Na początek wrzuć NSLog w metodę przycisku i sprawdź czy w ogóle to działa.
    Komputer: Macbook Pro wykąpany w pepsi, teraz Acer Aspire 5750G
    Telefon: iPhone 4 - iOS 5.1.1
    Ludzie, używajcie alta. No chyba że wam obojętne, czy robicie komuś 'łaskę', czy 'laske'.

  7. Avatar duzers
    Dołączył
    Nov 2005
    Skąd
    Dolny Śląsk
    Postów
    123

    Cytuj | #7

    To ma być prosta aplikacja - pierwszy ekran i kilka kolejnych, z których powraca się do pierwszego. Robię to w jednym MainStoryboard.storyboard. Dodaję kolejne ekrany i linkuję przyciski. Nawigacja działa, no i dźwięk na pierwszym. Czy to w ogóle tak można robić, czy dodawać kolejne UIViewController'y i każdy ekran "obrabiać w osobnych xib ?

    Jak w tym tutorialu tylko buttony na kolejnych stronach (kolorowych) mają wydawać dźwięki.

    XCode 4 Tutorial Storyboards - Geeky Lemon Development - YouTube

    Nigdzie nie mogę znaleźć rozwiązania takiego problemu. Dla was to pewnie "buła z masłem"
    Komputer: iMac 24" 2.8 - iPad - iPod Touch
    Odtwarzacz: iPod Touch
    Tablet: iPad


  8. Dołączył
    Feb 2011
    Skąd
    Zabrze
    Postów
    22

    Cytuj | #8

    Ostatnio tez walcze z dzwiekiem, po raz pierwszy, rowniez w prostym zastosowaniu - po kliknieciu przycisku ma sie pojawic krotki dzwiek potwierdzajacy przycisniecie. Jesli nie uda Ci sie rozwiazac problemu to moze rozwaz zastosowanie AVAudioPlayer z AVFoundation Framework zamiast audioservices. Szukajac informacji w internecie wielokrotnie spotykalem sie z zaleceniem zeby raczej wlasnie z tego korzystac, chociazby dlatego ze jest to obiekt niezalezny, Ty go tworzysz, i masz nad nim pelna kontrole.
    Teoretycznie moglbys stworzyc dwa rozne obiekty AVAudioplayer dla roznych widokow niezalezne od siebie ktore gdybys sie uparl powinny nawet umozliwic "granie" jednoczesnie - aczkolwiek nie testowalem tego.

    Minusem AVAudioPlayera sa czesto zglaszane problemy z wyciekami pamieci, prawdopodobnie wyciek powodowany jest przez sam framework, a przynajmniej tyle udalo mi sie doczytac. Na szczescie po testach stwierdzilem ze wyciek i owszem, jest zglaszany w symulatorze i Instruments - przy odpaleniu aplikacji "ginie" w sumie okolo 500 bajtow przy pierwszym wywolaniu AudioPlayera, natomiast nie ma wyciekow pamieci przy testowaniu na rzeczywistym urzadzeniu.

    Grzesiek

  9. Avatar duzers
    Dołączył
    Nov 2005
    Skąd
    Dolny Śląsk
    Postów
    123

    Cytuj | #9

    Ok dzięki spróbuję skorzystać z tej biblioteki. Możesz mi jeszcze odpowiedzieć, czy przy takiej prostek aplikacji (kilkanaście stron wzajemnie podlinkowanych) korzystać z nowości w Xcode4 a mianowicie Storyboard? Czy dodawać kolejne ViewControlery ale wtedy wszystko trzeba kodować.
    Komputer: iMac 24" 2.8 - iPad - iPod Touch
    Odtwarzacz: iPod Touch
    Tablet: iPad

Odpowiedz na ten temat

Tagi dla tego tematu