Zurück   Flashforum > Flex und AIR > Adobe AIR

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 11-10-2011, 10:41   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2011
Beiträge: 3
Question AIR für android - Stream abspielen!

Hi,

ich bin schon mehrere Tage damit beschäftigt aber iwie will das alles nicht so wie ich will :P
wäre cool wenn mir jemand helfen könnte!

Ich versuche eine app für android zu bauen die einen Stream abspielt, dies funktioniert auch so weit ohne Probleme.
Ich hab einen "play-Button" und einen "Stop-Button", auf dem PC kann ich den Stream beliebig oft starten und stoppen nur auf dem Smartphone kann ich den Stream nur 2-mal abspielen danach muss ich die app schließen um wieder etwas zu hören!

Hier mal mein AS3-Code:

Code:
import flash.media.Sound;
import flash.net.URLRequest;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.events.IOErrorEvent;
import flash.media.SoundChannel;

var sound:Sound;
var channel:SoundChannel;
var lastPosition:int;
var i = '1';

play_btn.addEventListener(MouseEvent.CLICK, Click_play);
stop_btn.addEventListener(MouseEvent.CLICK, Click_stop);

function Click_play(event:MouseEvent):void {
	if(i == 1) {
		sound = new Sound();
		sound.addEventListener(Event.OPEN, onOpen);
		sound.addEventListener(ProgressEvent.PROGRESS, onLoading);
		sound.addEventListener(IOErrorEvent.IO_ERROR, onError);
		sound.load(new URLRequest("meinStream.mp3"),new SoundLoaderContext(1000, true));
		channel = sound.play();
		i = '2';
	}
}

function Click_stop(event:MouseEvent):void {
	if(i == 2) {
		AUSGABE.text = "Stream Stop!";
		channel.stop()
		sound.close();
		i = '1';
	}
}

function onOpen(event:Event):void {
	AUSGABE.text = "Stream Play!";
}

function onLoading(event:ProgressEvent):void {
	trace((event.bytesLoaded/event.bytesTotal)*100);
}

function onError(event:IOErrorEvent):void {
	AUSGABE.text = "Stream kann nicht geladen werden! " + event.text;
}
_-danie-_ ist offline   Mit Zitat antworten
Alt 04-11-2011, 12:51   #2 (permalink)
Neuer User
 
Benutzerbild von Silver_Surfer
 
Registriert seit: Sep 2009
Beiträge: 253
verusuch mal nach sound.close(),

sound = null;
Silver_Surfer ist offline   Mit Zitat antworten
Alt 05-11-2011, 23:01   #3 (permalink)
NCC 1701 D
 
Benutzerbild von speedjunkie
 
Registriert seit: Oct 2009
Ort: Metropolregion Hamburg
Beiträge: 586
Hallo Silver_Surfer, hallo _-danie-_,

@ _-danie-_

wie empfängst Du Deinen Stream? (Wi-Fi, UMTS, GPRS, sonstiges)

Mach mal bitte ein Häkchen bei Permissions.
  • ACCESS_NETWORK_STATE
  • ACCESS_WIFI_STATE

Und schau mal, ob die Verbindung wegknickt…

Anmerkung:

Funktionen bzw. Event Handler Funktionen mit einem kleinen Buchstaben beginnen.
Dann die Variable i, die Du für die Statusabfrage nutzt, so wie es aussieht.
i wird meist als Zählervariable genutzt. Bei Dir ist i ohne Typisierung und dann kommt ein String, das ist nicht schön.
Dafür gibt es das Boolean Object das zwei Werte annehmen kann true oder false;

ActionScript:
  1. var flag:Boolean = true;
  2. var flag:Boolean = false;
  3.  
  4. //oder
  5. var flag:Boolean = !0; //true
  6. var flag:Boolean = !1; //false
  7.  
  8. //oder 32 Bit Datentyp ohne internes Vorzeichen-Bit
  9.  
  10. var flag:uint = 0;
  11. var flag:uint = 1;
  12.  
  13. //ähnlich wie in C die keinen eigenen Datentyp für logische Werte hat. Kommt darauf an was man macht und wie advanced das Ganze sein soll.
  14.  

Wolltest Du die letzte Position wieder abspielen?
ActionScript:
  1. var lastPosition:int;

ActionScript:
  1. import flash.media.Sound;
  2. import flash.media.SoundChannel;
  3. import flash.events.MouseEvent;
  4. import flash.net.URLRequest;
  5. import flash.events.Event;
  6. import flash.events.IOErrorEvent;
  7. import flash.events.ProgressEvent;
  8. import flash.desktop.NativeApplication;
  9. import flash.net.NetworkInterface;
  10. import flash.net.NetworkInfo;
  11. import flash.net.InterfaceAddress;
  12.  
  13. var snd:Sound,ch:SoundChannel,lastPosition:Number = 0, isPlaying:Boolean;
  14.  
  15. trace(isPlaying);
  16.  
  17. function init(url:String):void
  18. {
  19.     snd = new Sound(new URLRequest(url));
  20.     snd.addEventListener(Event.OPEN, onOpen);
  21.     snd.addEventListener(ProgressEvent.PROGRESS, onLoading);
  22.     snd.addEventListener(IOErrorEvent.IO_ERROR, onError);
  23.  
  24.     play_mc.addEventListener(MouseEvent.CLICK, playSound);
  25.     pause_mc.addEventListener(MouseEvent.CLICK, pauseSound);
  26.     return;
  27. }
  28.  
  29. function playSound(m:MouseEvent):void
  30. {
  31.     isPlaying || (isPlaying=true, ch=snd.play(lastPosition,uint.MAX_VALUE));
  32.     return;
  33. }
  34.  
  35. function pauseSound(m:MouseEvent):void
  36. {
  37.     lastPosition = ch.position;
  38.     ch.stop();
  39.     trace("lastPosition: " + ch.position);
  40.     isPlaying = false;
  41.     return;
  42. }
  43.  
  44. function onOpen(e:Event):void
  45. {
  46.     trace("Stream Play!");
  47.     return;
  48. }
  49.  
  50. function onLoading(e:ProgressEvent):void
  51. {
  52.     trace(uint(e.bytesLoaded/e.bytesTotal*100));
  53.     return;
  54.  
  55. }
  56.  
  57. function onError(e:IOErrorEvent):void
  58. {
  59.     trace("Stream kann nicht geladen werden! " + e.text);
  60.     return;
  61. }
  62.  
  63. function initNetworkInfo():void
  64. {
  65.     NativeApplication.nativeApplication.systemIdleMode = SystemIdleMode.KEEP_AWAKE;
  66.     NetworkInfo.isSupported ? (trace("Netzwerk unterstützt"), showChanges(null), NetworkInfo.networkInfo.addEventListener(Event.NETWORK_CHANGE, showChanges) ) : trace("Netzwerk nicht unterstützt");
  67.     return;
  68. }
  69.  
  70. function showChanges(e:Event):void
  71. {
  72.     trace("neue Schnittstellen INFO:");
  73.     var list:Vector.<NetworkInterface>  = NetworkInfo.networkInfo.findInterfaces();
  74.     for each (var netInterf:NetworkInterface in list)
  75.     {
  76.         var addrStr:String = "";
  77.         for each (var address:InterfaceAddress in netInterf.addresses)
  78.         {
  79.             addrStr = "\n\t adress " + address.address +
  80.              "\n\tbroadcast " + address.broadcast +
  81.              "\n\t\ipVersion " + address.ipVersion + "\n";
  82.         }
  83.        
  84.         var output:String = netInterf.name + " ::: " + netInterf.displayName +   
  85.         " adress " + addrStr +
  86.         " mtu " + netInterf.mtu;
  87.         trace(output);
  88.     }
  89. }
  90.  
  91. init('http://www.deine-domaine.de/mothers_secret_music_box_workeGroup.mp3');
  92. initNetworkInfo();
__________________
just be Daniel
JUNK FOOD: JavaScript Core Reference

Geändert von speedjunkie (05-11-2011 um 23:05 Uhr)
speedjunkie ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
air, android, app, mp3, stream

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Webradio Stream abspielen Jojo_44 ActionScript 3 12 30-08-2011 23:05
Android-SDK -> Emulator: AIR for Android installieren? Mr.Twister Adobe AIR 2 23-02-2011 19:43
kann sound stream nur lokal abspielen smitscher ActionScript 3 2 05-12-2008 15:48
Stream-mp3 nach eingebettetem Intro-Sound abspielen? ventu ActionScript 2 2 09-04-2007 15:24
mp3 stream als loop abspielen... Zeimn ActionScript 1 1 16-12-2003 16:14


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:53 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele