Problem med MediaPlayer klassen

Diskussion i 'Frågor, support och diskussion' startad av Pzyber, 27 feb 2011.

  1. Pzyber

    Pzyber Infant Droid Medlem

    Blev medlem:
    27 feb 2011
    Inlägg:
    10
    Mottagna gillanden:
    0

    MINA ENHETER

    Försöker spela upp musik med MediaPlayer i en app. Har placerat filen test.wav i res foldern. Har även försökt med mp3 osv men med samma fel.

    Nu till felet.
    20:47:30.134 1091 ERROR AndroidRuntime Caused by: android.content.res.Resources$NotFoundException: File res/raw/test.wav from drawable resource ID #0x7f040000

    Den finns i R.java med rätt resurs id och finns i res/raw/.

    Koden för att spela upp
    Kod:
    mp = MediaPlayer.create(context, R.raw.test);
    mp.start();
    Någon som tror sig veta vad jag gör för fel?
     
    Last edited: 27 feb 2011
  2. Sigma78

    Sigma78 Teen Droid Medlem

    Blev medlem:
    27 jul 2010
    Inlägg:
    360
    Mottagna gillanden:
    6

    MINA ENHETER

    Jag vet inte om du skrev fel av misstag eller om din kod ser ut så, men mp.start (); ska det vara.

    Sent from my GT-I9000 using Tapatalk
     
    Pzyber gillar detta.
  3. Pzyber

    Pzyber Infant Droid Medlem

    Blev medlem:
    27 feb 2011
    Inlägg:
    10
    Mottagna gillanden:
    0

    MINA ENHETER

    Ursäkta var jag som skrev fel när jag postade. Ska copy pasta i fortsättningen :) Har rättat det oven nu.
     
  4. Sigma78

    Sigma78 Teen Droid Medlem

    Blev medlem:
    27 jul 2010
    Inlägg:
    360
    Mottagna gillanden:
    6

    MINA ENHETER

    Vad innehåller variabeln context?
    Har du provat att anropa med this istället?

    Sent from my GT-I9000 using Tapatalk
     
  5. Pzyber

    Pzyber Infant Droid Medlem

    Blev medlem:
    27 feb 2011
    Inlägg:
    10
    Mottagna gillanden:
    0

    MINA ENHETER

    context innehåller contexten till MainActivity-klassen.

    Försöker spela innifrån en SurfaceView.

    this fungerar inte. men this.getContext() går. Ger dock samma fel att resursen inte hittas.
    Kod:
    mp = MediaPlayer.create(this.getContext(), R.raw.test);
    mp.start();
     
  6. Pzyber

    Pzyber Infant Droid Medlem

    Blev medlem:
    27 feb 2011
    Inlägg:
    10
    Mottagna gillanden:
    0

    MINA ENHETER

    Gjorde ett nytt testprojekt för att underlätta lite. Får fortfarande samma fel.

    21:51:13.435 2514 ERROR AndroidRuntime Caused by: android.content.res.Resources$NotFoundException: File res/raw/test.mp3 from drawable resource ID #0x7f030000

    MainActivity.java
    Kod:
    package org.me.testsound;
    
    import android.app.Activity;
    import android.media.MediaPlayer;
    import android.os.Bundle;
    
    public class MainActivity extends Activity {
    
        private MediaPlayer mp;
    
        @Override
        public void onCreate(Bundle icicle) {
            super.onCreate(icicle);
    
            mp = MediaPlayer.create(this, R.raw.test);
            mp.start();
        }
    }
    R.java
    Kod:
    /* AUTO-GENERATED FILE.  DO NOT MODIFY.
     *
     * This class was automatically generated by the
     * aapt tool from the resource data it found.  It
     * should not be modified by hand.
     */
    
    package org.me.testsound;
    
    public final class R {
        public static final class attr {
        }
        public static final class layout {
            public static final int main=0x7f020000;
        }
        public static final class raw {
            public static final int test=0x7f030000;
        }
        public static final class string {
            public static final int app_name=0x7f040000;
        }
    }
    
    Targettar android 2.2 i det här projektet. Blir både exception i emulatorn och på mobilen.
     
    Last edited: 27 feb 2011
  7. Sigma78

    Sigma78 Teen Droid Medlem

    Blev medlem:
    27 jul 2010
    Inlägg:
    360
    Mottagna gillanden:
    6

    MINA ENHETER

    Märkligt att det inte fungerar med this. Här är ett exempel jag hittade, prova och se om det fungerar:
    Kod:
    public class MediaPlayerExample extends Activity {
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
    
            MediaPlayer mPlayer = MediaPlayer.create(this, R.raw.test_cbr);
            mPlayer.start();
    
        }
    }
    
    Exemplet kommer härifrån: http://www.androidpeople.com/android-mediaplayer-example/

    I ditt exempel ovan har du ingen setContentView, det kan nog bli konstigt om den saknas. Jag är inte säker på om det har något med felet du får att göra däremot.
     
  8. ozp

    ozp Teen Droid Medlem

    Blev medlem:
    6 maj 2010
    Inlägg:
    250
    Mottagna gillanden:
    31

    MINA ENHETER

    Det är inget fel på din kod. Jag har testkört den och den fungerar. Snarare är det nog något i ditt byggsystem som orsakar problemet. Använder du eclipse? Testa att öppna apk:n i winzip och se om mp3-filen finns med.
     
    Pzyber gillar detta.
  9. Pzyber

    Pzyber Infant Droid Medlem

    Blev medlem:
    27 feb 2011
    Inlägg:
    10
    Mottagna gillanden:
    0

    MINA ENHETER

    Har programmerat i netbeans, testade med soundpool nyss och det gav samma fel så är som du säger något fel på byggsystemet. test.mp3 finns med i res/raw/ i apk filen så måste vara något annat som blir lurt, får testa med eclipse.
     
    Last edited: 27 feb 2011
  10. Pzyber

    Pzyber Infant Droid Medlem

    Blev medlem:
    27 feb 2011
    Inlägg:
    10
    Mottagna gillanden:
    0

    MINA ENHETER

    Har det i mitt riktiga projekt och fick ju samma fel där.
     
  11. Pzyber

    Pzyber Infant Droid Medlem

    Blev medlem:
    27 feb 2011
    Inlägg:
    10
    Mottagna gillanden:
    0

    MINA ENHETER

    Tackar för hjälpen. Löste det med netbeans med så nu är jag nöjd ;)

    - Avinstallerade netbeans 6.9.1
    - Avinstallerade java se jdk 6u23
    - Raderade alla netbeans inställningar inklusive nbandroid 0.11 pluginet

    - Uppdaterade Android SDK från 8 till 10
    - Installerade java se jdk 6u24
    - Installerade netbeans 6.9.1 igen
    - installerade nbandroid 1.0beta

    Sedan fungerade det fint :)

    Tackar så mycket för svaren!