Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Vítězslav Škrabal:16.7.2017 18:09
package com.example.stream;

import java.io.FileOutputStream;
import java.net.URL;
import java.io.InputStream;
import java.io.IOException;

import android.media.MediaRecorder;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
public class MainActivity extends ActionBarActivity {
   private static final String LOG_TAG = null;
   InputStream inputStream;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      MediaRecorder mRecorder= new MediaRecorder();
      mRecorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
      mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);


       try {
      URL url = new URL("http://icecast2.play.cz/croregion128.mp3");
        inputStream = url.openStream();
        Log.d(LOG_TAG, "url.openStream()");

        FileOutputStream fileOutputStream = new FileOutputStream("radio.mp3");
        Log.d(LOG_TAG, "FileOutputStream: " + "eas");

        int c;

        while ((c = inputStream.read()) != -1) {

         //Log.d(LOG_TAG, "bytesRead=" + bytesRead);
            fileOutputStream.write(c);
        }
       }
   catch (IOException v){
      Log.d(LOG_TAG,"balal");
   }
   }

   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.main, menu);
      return true;
   }

   @Override
   public boolean onOptionsItemSelected(MenuItem item) {
      // Handle action bar item clicks here. The action bar will
      // automatically handle clicks on the Home/Up button, so long
      // as you specify a parent activity in AndroidManifest.xml.
      int id = item.getItemId();
      if (id == R.id.action_settings) {
         return true;
      }
      return super.onOptionsItemSelected(item);
   }
}

když to spustím tak to padá ,já vím že poskytuji málo informací ale kdyby někoho něco napadlo tak bych byl rád díky za pomoc

 
Odpovědět
16.7.2017 18:09
Avatar
mara
Člen
Avatar
mara:16.7.2017 21:50

Ahoj,

v logu ti to vypíše chybu, která ti udává, co je špatně. Ten sem buď dej nebo to podle toho najdeš. Případně pokud bys potřeboval pomoct, tak PM.

Marek.

Editováno 16.7.2017 21:51
Nahoru Odpovědět
16.7.2017 21:50
Co na srdci, to na Facebooku
Avatar
Vítězslav Škrabal:17.7.2017 11:25
07-17 11:11:50.581: W/Resources(2648): Preloaded drawable resource #0x1080093 (android:drawable/sym_def_app_icon) that varies with configuration!!
07-17 11:11:50.762: D/AndroidRuntime(2648): Shutting down VM
07-17 11:11:50.790: E/AndroidRuntime(2648): FATAL EXCEPTION: main
07-17 11:11:50.790: E/AndroidRuntime(2648): Process: com.example.stream, PID: 2648
07-17 11:11:50.790: E/AndroidRuntime(2648): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.stream/com.example.stream.MainActivity}: android.os.NetworkOnMainThreadException
07-17 11:11:50.790: E/AndroidRuntime(2648):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2255)
07-17 11:11:50.790: E/AndroidRuntime(2648):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2317)
07-17 11:11:50.790: E/AndroidRuntime(2648):     at android.app.ActivityThread.access$800(ActivityThread.java:143)
07-17 11:11:50.790: E/AndroidRuntime(2648):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1258)
07-17 11:11:50.790: E/AndroidRuntime(2648):     at android.os.Handler.dispatchMessage(Handler.java:102)
07-17 11:11:50.790: E/AndroidRuntime(2648):     at android.os.Looper.loop(Looper.java:135)
07-17 11:11:50.790: E/AndroidRuntime(2648):     at android.app.ActivityThread.main(ActivityThread.java:5070)
07-17 11:11:50.790: E/AndroidRuntime(2648):     at java.lang.reflect.Method.invoke(Native Method)
07-17 11:11:50.790: E/AndroidRuntime(2648):     at java.lang.reflect.Method.invoke(Method.java:372)
07-17 11:11:50.790: E/AndroidRuntime(2648):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:836)
07-17 11:11:50.790: E/AndroidRuntime(2648):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:631)
07-17 11:11:50.790: E/AndroidRuntime(2648): Caused by: android.os.NetworkOnMainThreadException
07-17 11:11:50.790: E/AndroidRuntime(2648):     at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1145)
07-17 11:11:50.790: E/AndroidRuntime(2648):     at java.net.InetAddress.lookupHostByName(InetAddress.java:418)
07-17 11:11:50.790: E/AndroidRuntime(2648):     at java.net.InetAddress.getAllByNameImpl(InetAddress.java:252)
07-17 11:11:50.790: E/AndroidRuntime(2648):     at java.net.InetAddress.getAllByName(InetAddress.java:215)
07-17 11:11:50.790: E/AndroidRuntime(2648):     at com.android.okhttp.internal.Dns$1.getAllByName(Dns.java:29)
07-17 11:11:50.790: E/AndroidRuntime(2648):     at com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:232)
07-17 11:11:50.790: E/AndroidRuntime(2648):     at com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:124)
07-17 11:11:50.790: E/AndroidRuntime(2648):     at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:245)
07-17 11:11:50.790: E/AndroidRuntime(2648):     at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:189)
07-17 11:11:50.790: E/AndroidRuntime(2648):     at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:369)
07-17 11:11:50.790: E/AndroidRuntime(2648):     at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:322)
07-17 11:11:50.790: E/AndroidRuntime(2648):     at com.android.okhttp.internal.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:190)
07-17 11:11:50.790: E/AndroidRuntime(2648):     at java.net.URL.openStream(URL.java:470)
07-17 11:11:50.790: E/AndroidRuntime(2648):     at com.example.stream.MainActivity.onCreate(MainActivity.java:35)
07-17 11:11:50.790: E/AndroidRuntime(2648):     at android.app.Activity.performCreate(Activity.java:5720)
07-17 11:11:50.790: E/AndroidRuntime(2648):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1102)
07-17 11:11:50.790: E/AndroidRuntime(2648):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2208)
07-17 11:11:50.790: E/AndroidRuntime(2648):     ... 10 more
07-17 11:11:57.834: I/art(2648): Heap transition to ProcessStateJankImperceptible took 81.083962ms saved at least 119KB
07-17 11:12:02.452: I/Process(2648): Sending signal. PID: 2648 SIG: 9

a ještě tady dávám Stream Manifest

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.stream"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="21" />
    <uses-permission android:name="android.permission.INTERNET"/>

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Tak tady je ten log předem díky za pomoc

 
Nahoru Odpovědět
17.7.2017 11:25
Avatar
Odpovídá na Vítězslav Škrabal
Petr Štechmüller:17.7.2017 11:36

Ahoj, zde je vyjímka, která by tě měla zajímat:

java.lang.Run­timeException: Unable to start activity ComponentInfo{com­.example.stre­am/com.example­.stream.MainAc­tivity}: android.os.Net­workOnMainThre­adException

Znamená to, že se snažíš přistupovat k souboru, který leží někde na internetu z hlavního vlákna aplikace. Pokud jsi četl nějaký tutoriály, ideálně oficiální ze stránek androidu, tak by jsi věděl, že pro přístup k takovýmto zdrojům, ke kterým může přístup trvat dlouhou dobu se musí řešit asynchroně. V tomto případě by bylo nejjednodušší řešení použít AsyncTask .

Nahoru Odpovědět
17.7.2017 11:36
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
mara
Člen
Avatar
Odpovídá na Vítězslav Škrabal
mara:17.7.2017 11:56

Ahoj,

souhlasím s Petr Štechmüller . Možná bych akorát zvážil využití RX Javy.

M.

Nahoru Odpovědět
17.7.2017 11:56
Co na srdci, to na Facebooku
Avatar
Vítězslav Škrabal:17.7.2017 12:44

Tak pánové jak to upravit? já bych se v tom plácal a ke zdaru by to stejně nevedlo jak se znám :-) a za druhé jak nastavit cestu na externí sd kartu abych mohl uložit ten výsledný soubor na ni díky

 
Nahoru Odpovědět
17.7.2017 12:44
Avatar
Odpovídá na Vítězslav Škrabal
Petr Štechmüller:17.7.2017 14:07

Ahoj, výše máš odkaz na AsyncTask, pomocí kterého asynchroně stáhneš soubor.
Pro uložení souboru na externí kartu použij třeba tutoriál z této stránky.

Až budeš v koncích s vlastní implementací, tak napiš...

Nahoru Odpovědět
17.7.2017 14:07
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
mara
Člen
Avatar
mara:17.7.2017 20:26

Petr Štechmüller Pokud jsem se díval správně, tak to není soubor, ale je to online stream rádia.

Případně můžeš PM. Dám ti můj kontakt, kde můžeš směřovat dotazy.

Marek.

Nahoru Odpovědět
17.7.2017 20:26
Co na srdci, to na Facebooku
Avatar
Vítězslav Škrabal:17.7.2017 21:10

Ano to je online stream rádia a to asi mění situaci v tom odkazu který s mě dal?

Případně můžeš PM. Dám ti můj kontakt

????

 
Nahoru Odpovědět
17.7.2017 21:10
Avatar
Vítězslav Škrabal:18.7.2017 17:53

Ten problém teď na chvíli opustíme,teď řeším tuto věc, tento program mi na interní kartě ve složce PICTURES vytvoří další složku v mém případě nanuk.mp3 jak to udělat aby mě to vytvořilo na přidane SD kartě ??? velice díky za pomoc

 
Nahoru Odpovědět
18.7.2017 17:53
Avatar
Vítězslav Škrabal:19.7.2017 16:54

Ještě se nikdo nenašel :-@ ?

 
Nahoru Odpovědět
19.7.2017 16:54
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 11 zpráv z 11.