audiostreamer

___ tag123objectivec ___ Dieses Tag sollte nur bei Fragen verwendet werden, die sich auf Objective-C-Funktionen beziehen oder von Code in der Sprache abhängen. Die Tags [Kakao] und [Kakao-Touch] sollten verwendet werden, um nach Frameworks oder Klassen von Apple zu fragen. Verwenden Sie die zugehörigen Tags [ios], [macos], [apple-watch] und [tvos] für Probleme, die für diese Plattformen spezifisch sind. ___ tag123ios ___ iOS ist das mobile Betriebssystem, das auf dem Apple iPhone, iPod touch und iPad ausgeführt wird. Verwenden Sie dieses Tag [ios] für Fragen zur Programmierung auf der iOS-Plattform. Verwenden Sie die verwandten Tags [objective-c] und [swift] für Probleme, die für diese Programmiersprachen spezifisch sind. ___ tag123iphone ___ Verwenden Sie diesen Tag NICHT, es sei denn, Sie wenden sich speziell an Apple's iPhone und / oder iPod touch. Verwenden Sie für nicht hardwareabhängige Fragen das Tag [ios]. Weitere zu betrachtende Tags sind [xcode] (aber nur, wenn es sich um die IDE selbst handelt), [swift], [objective-c] oder [cacao-touch] (aber nicht [cocoa]). Bitte verzichten Sie auf Fragen zum iTunes App Store oder zu iTunes Connect. Wenn Sie C # verwenden, markieren Sie mit [mono]. ___ qstnhdr ___ Matt Gallagher's AudioStream: Wie man mit View Controller Pops umgeht ___ tag123audioostreamer ___ hilf uns dieses Wiki zu bearbeiten ___ answer4748907 ___

Es stellte sich heraus, dass ich nur darüber nachdenken musste, wie ich meine Ansichten ordnete und pustete. Die Registerkarte "Mehr" zeigt eine Tabellenansicht an, und jede Zelle stellt eine untergeordnete Ansicht dar, die bei Auswahl dieser Zelle verschoben wird. Ich habe diese Ansicht geändert, um alle untergeordneten Ansichten in %code% zuzuordnen, dann führe einfach den Push in %code% aus und gebe die untergeordneten Ansichten in %code% frei.

Dies löst mein Problem perfekt. Danke an Jason Coco, dass er den Ball ins Rollen gebracht hat.

    
___ qstntxt ___

Nun, dies ist mein erster Beitrag überhaupt - zwischen dieser Website, persönlichen Blogs und den Foren von iPhoneDevSDK war ich immer in der Lage, Dinge selbst herauszufinden. Ich entwickle seit etwa fünf Monaten für iOS und habe nie außerhalb von Google um Hilfe gebeten. Aber dieses Mal stecke ich fest.

Ich habe Matt Galaghers AudioStream-Klasse erfolgreich implementiert (ich musste den Link entfernen, weil SO annimmt, dass mein Beitrag Spam ist) und ich freue mich berichten zu können, dass es wunderbar funktioniert. Ich verwende es in einem View-Controller, der eigentlich eine untergeordnete Ansicht in einer TabBar-App ist. In der Tat ist meine Implementierung nicht viel anders als in Matts Beispiel - Ich habe nur einige UI-Elemente geändert.

Bis zu diesem Zeitpunkt habe ich %code% verwendet, um den Streamer zu stoppen, wenn der Benutzer zu einem anderen Tab wechselt. Aber vor kurzem entschied ich, dass es einfach wäre, den Audio-Stream so lange laufen zu lassen, wie die App läuft, egal welche Ansicht oben ist. Das war eine sehr einfache Änderung, und jetzt spielt mein Audio-Stream weiter, egal wo ich in der App bin.

So funktioniert der View-Controller:

  1. Ich habe eine Play-Taste und eine Stop-Taste, die an derselben Stelle liegt, wobei die Stop-Taste ausgeblendet ist.
  2. Wenn der Benutzer die Wiedergabetaste drückt, wird die Schaltfläche "Wiedergabe" ausgeblendet und eine UIActivityIndicatorView ("[streamer isWaiting]")
  3. angezeigt
  4. Wenn der Stream abgespielt wird ('[streamer isPlaying]'), wird die 'UIActivityIndicatorView' ausgeblendet und die Schaltfläche Stop erscheint
  5. Während '[streamer isPlaying]' angezeigt wird, zeige ich eine verstrichene Zeit (mm: ss) in der Navigationsaufforderung an, die jede Sekunde aktualisiert

Alle oben genannten funktionieren perfekt jedes Mal. Wenn ich die Ansicht verlasse (entweder indem ich zur übergeordneten Ansicht blicke oder zu einer anderen Registerkarte navigiere), wird der Ton wiedergegeben, was genau das ist, was ich möchte. Aber wenn ich zur Ansicht zurückkehre, erscheint die Benutzeroberfläche so, als hätte ich sie noch nicht gestartet (Play-Schaltfläche sichtbar, Navigationsprompt ist ausgeblendet). Wenn ich die Play-Taste drücke, höre ich einen zweiten Stream gleichzeitig mit dem ersten.

Die %code% scheint gestoppt zu haben (da %code% nicht mehr sichtbar ist), und ich schätze, dass %code% "tot" ist (ich bin mir nicht sicher, wie ich es beschreiben soll).

Ich habe Stunden damit verbracht, die AudioStreamer-Klasse zu durchsuchen, um herauszufinden, wie ich die Kontrolle über den Stream behalten kann, aber ich bin erschöpft. Ich hoffe, jemand könnte mir sagen, was ich vermisse.

Wie ich bereits sagte, ist mein View-Controller fast identisch mit dem Beispiel (siehe obigen Hyperlink, da SO immer noch davon ausgeht, dass ich ein Spammer bin), mit nur wenigen UI-bezogenen Änderungen.

Ich denke, die kurze Frage wäre folgende: Ist jemand in der Lage gewesen, die AudioSTreamer-Klasse zu implementieren, ihre Ansicht zu öffnen, dann zurück zu kommen und die verstrichene Zeit anzuzeigen oder den Stream zu stoppen?

EDIT: unten ist mein View-Controller, der AudioStreamer implementiert

.h

%Vor%

.m

%Vor%     
___
1
Antwort

Matt Gallagher's AudioStream: Wie man mit View Controller Pops umgeht

Nun, dies ist mein erster Beitrag überhaupt - zwischen dieser Website, persönlichen Blogs und den Foren von iPhoneDevSDK war ich immer in der Lage, Dinge selbst herauszufinden. Ich entwickle seit etwa fünf Monaten für iOS und habe nie außerhalb...
20.01.2011, 04:08