Media Player

RSS for tag

Find and play songs, audio podcasts, audio books, and more from within your app using Media Player.

Posts under Media Player tag

200 Posts

Post

Replies

Boosts

Views

Activity

What system APIs are available for alarms and "undismissable" notifications
I have an idea for an iOS App that involves creating alarms and "undismissable" notifications. Currently, iOS has multiple system features like silent/ring mode, focus mode, security protections, and other system features that would limit the functionality of an app with this purpose. Basically, think of a system Amber Alert or how the iOS Alarm app works. Regardless of these system settings, the user will be notified of the importance of the alarm immediately. What I'm trying to develop are really two separate things. First an alarm app without a snooze (or a set snooze limit) where you must prove that you're awake. Second, integrate a web API service for volunteer first responders that notify them to respond to an emergency via an iOS app. These are not features that would limit a user's privacy, their experience using iOS, and, quite frankly, be something that is so difficult to implement. If anyone can direct me to any system APIs that would be available to use for the start of this app or make me aware of any "blockers" that would absolutely prevent me from developing this in iOS, I would really appreciate it. My research has not been very in depth and there are differences in opinions on approaches and possibilities. If you are an engineer at Apple and this turns out to be impossible or impractical with current versions of iOS, it would be great to have the ability to be able to do something of this nature in the future.
1
0
1.3k
May ’23
How to get MPNowPlayingInfoCenter to display the MPNowPlayingInfoPropertyPlaybackProgress value instead of seconds?
I'm trying to configure the "Now Playing" information for my app on iOS. Using MPNowPlayingInfoCenter/MPRemoteCommandCenter is pretty straightforward for this. The issue I'm having is that the audio I'm playing is generated "on the fly" and I do not know the exact duration in seconds. I am able to synthesize an NSProgress to display the progress of the playback but the units are not in seconds. So if I use the NSProgress units with MPNowPlayingInfoCenter the "Now Playing" shows the units in seconds but it appears to be jumpy (because again my progress units are not in seconds but an approximation of the percent completed). [playInfo setObject:@(self.progress.totalUnitCount) forKey:MPMediaItemPropertyPlaybackDuration]; [playInfo setObject:@(self.progress.completedUnitCount) forKey:MPNowPlayingInfoPropertyElapsedPlaybackTime]; I see there is a MPNowPlayingInfoPropertyPlaybackProgress which looks like it would be perfect. I tried setting that instead of MPMediaItemPropertyPlaybackDuration/MPNowPlayingInfoPropertyElapsedPlaybackTime but it appears to have no effect in the "Now Playing" UI. I also tried setting MPNowPlayingInfoPropertyIsLiveStream to YES but that just makes the "Now Playing" UI display "Live" instead of the progress value. Is there a way I can show a progress bar without the units being displayed in seconds? Thanks in advance.
0
0
1k
May ’23
[MusicKit & MediaPlayer] can not find song use persistentID
I have a song playlist whose element is MPMediaItem, and I want to share this song playlist, so my original plan was to use persistentID as the identification of the song, but I found that persistentID does not seem to be able to cross devices, use MPMediaQuery persistentID to query the result is empty. So my question is? In this case, what should I do to share this playlist, so that other users can find the corresponding song to play after getting the playlist.
0
0
735
May ’23
iOS 16.4 & iOS 16.4.1 AVPlayer play local mp4 file Failed
iPhone 14 Pro use AVPlayer play local mp4 file cannot play,but the AVPlayer timeControlStatus is AVPlayerTimeControlStatusPlaying after I update my iPhone system to iOS 16.4 and iOS 16.4.1. Here is the iPhone log,we can found the FigfilePlayer is in playing status, so callback to AVPlayer is playing. Testing By testing Photo App, cannot play the video I recorded before. AVPlayer playing online Video works good. After reboot my iPhone 14 Pro, everything works well. Tips please check the FigFilePlayer's changelog in iOS 16.4. default 19:34:54.508400+0800 mediaserverd AQMEIO_HAL.cpp:2220 FetchAndLogFrameSize GetCurrentIOBufferFrameSize deviceID=163, frame size is 512 default 19:34:54.508424+0800 mediaserverd AQMEIO_HAL.cpp:1898 SetIOBufferFrameSize Setting kAudioDevicePropertyBufferFrameSize to 1024 default 19:34:54.508447+0800 mediaserverd HP_Device.cpp:1077 Client request to set buffer frame size to 1024 on VAD 163. default 19:34:54.508549+0800 mediaserverd AggregateDevice_CommonBase.cpp:2877 Setting buffer frame size of 1024 on aggregate device 1771. default 19:34:54.508599+0800 mediaserverd AggregateDevice_CommonBase.cpp:2886 Requested to set 1024, setting buffer frame size of 1024 on aggregate device 1771. default 19:34:54.508749+0800 mediaserverd <<<< FigFilePlayer >>>> itemfig_becameBothCurrentAndReadyForInspection: [0x60b9f5400] P/YA preferred device format NOT changed; preferred sample rate CHANGED; preferred channel count NOT changed => do NOT need to rebuild render pipelines default 19:34:54.508825+0800 mediaserverd <<<< FigFilePlayer >>>> playerfig_updatePlayerActiveState: returning err = 0 default 19:34:54.508850+0800 mediaserverd <<<< FigFilePlayer >>>> playerfig_getNextPlaybackState: [0x60b9f5400] P/YA called. reason ClientInitiated, options: DiscourageWaiting error 19:34:54.508900+0800 ZebraPedia nw_resolver_start_query_timer_block_invoke [C11.1] Query fired: did not receive all answers in time for Hostname#5a04b3da:443 default 19:34:54.508932+0800 mediaserverd <<<< CENTRAL >>>> playercentral_performStartupTaskConfirmingRouteChoiceWithRoutingSessionManager: [0x60a973ef0] P/YA player is not eligible for RouteSessionManager, with reasons: routingSession manager = 0x0, allowsAirPlayVideo = true, willMixWithEveryone = false default 19:34:54.509083+0800 mDNSResponder [R26974] getaddrinfo stop -- hostname: <mask.hash: 'heJTH20uNYxyo7w3hHqb8A=='>, client pid: 7051 (ZebraPedia) default 19:34:54.509126+0800 mDNSResponder [Q18582] Keeping orphaned querier for up to 5 seconds default 19:34:54.509196+0800 mediaserverd <<<< CENTRAL >>>> playercentral_performStartupTaskConfirmingRouteChoiceWithRoutingSessionManager: [0x60a973ef0] P/YA Auto-routing timing breakdown. 0 ms for getting player state + 0 ms for getting session state + 0 ms for making routing decision = 0 ms Total default 19:34:54.509224+0800 SpringBoard Reevaluating promoted elements default 19:34:54.509254+0800 SpringBoard Update preferred layout mode assertion with layout mode preference: <SAUILayoutModePreference: 0x281385560; _preferredLayoutMode: removed; _layoutModeChangeReason: client> default 19:34:54.509282+0800 mediaserverd <<<< FigFilePlayer >>>> playerfig_performStartupTasksForEvents: (0x60b9f5400) P/YA Handled and completed startup task 0x606b14b80 [Auto Routing] default 19:34:54.509309+0800 mediaserverd <<<< FigFilePlayer >>>> playerfig_getNextPlaybackState: [0x60b9f5400] P/YA new playback state: Playing (playerRate: 1.000), NEED TO update item rate (1.000). Previous state: Paused, change reason: ClientInitiated default 19:34:54.509334+0800 mediaserverd <<<< FigFilePlayer >>>> playerfig_setBossRateWithFade: [0x60b9f5400] P/YA called, rate = 1.000, fadeDuration = nan, 176931.91441 default 19:34:54.509361+0800 mediaserverd <<<< FigFilePlayer >>>> playerfig_applySoftwareVolume: [0x60b9f5400] P/YA rp: [FigRenderPipeline 0x60ab95200], propertyName = SoftwareVolume1, targetVolume = 0.00, rampDuration = 0.00, synchronous = YES default 19:34:54.509413+0800 SpringBoard Elements ordered by promotion: ( ) default 19:34:54.509439+0800 ZebraPedia <<<< AVPlayer >>>> avplayer_fpNotificationCallback_block_invoke_13: P/YA setting timeControlStatus=2, reasonForWaitingToPlay=(null) default 19:34:54.509557+0800 mediaserverd <<<< FigFilePlayer >>>> playerfig_applySoftwareVolume: [0x60b9f5400] P/YA rp: [FigRenderPipeline 0x60ab95200], propertyName = SoftwareVolume5, targetVolume = 1.00, rampDuration = 0.00, synchronous = YES default 19:34:54.509634+0800 mediaserverd IOMobileFramebufferCreateDisplayList: All Display Instances enumerated successfully - FB Count = 1 default 19:34:54.510164+0800 mediaserverd <<<< Alt >>>> FPSupport_GetDisplayRefreshInformation: refreshRates:<private> default 19:34:54.510189+0800 SpringBoard quietMode is unchanged, still disabled default 19:34:54.510219+0800 mediaserverd <<<< Alt >>>> FPSupport_GetDisplayRefreshInformation: displayMaxRefreshInterval:1/10 displayMinRefreshInterval:1/120 displayRefreshStep:1/240 default 19:34:54.510251+0800 mediaserverd <<<< Boss >>>> FigPlaybackBossSetRateAndAnchorTime: (0x60ab9f2f0) called, newRate = 1.000, itemTime = nan, hostClockTime = (now+) nan default 19:34:54.510284+0800 mediaserverd <<<< Boss >>>> bossScheduleReachedEndCallbackForTime: (0x60ab9f2f0) called, endTime = nan default 19:34:54.510318+0800 mediaserverd <<<< Boss >>>> bossScheduleAdvanceForOverlappedPlaybackCallbackForTime: (0x60ab9f2f0) called, advanceTime = nan default 19:34:54.510351+0800 mediaserverd <<<< Boss >>>> bossConfigureRatePlan: requested rate 1.000 => will use audio time compression rate 1.000, timebase rate 1.000, NON-snippetised playback default 19:34:54.510382+0800 mediaserverd <<<< Boss >>>> figPlaybackBossSetRateToNonZero: (0x60ab9f2f0) last preroll is not compatible: no previous preroll default 19:34:54.510413+0800 mediaserverd <<<< Boss >>>> figPlaybackBossStartPrerollAndSetPlayState: (0x60ab9f2f0) called, prerollRate == 1.000, itemTime = nan, hostClockTime = nan, prerollTime = nan, useSnippetPlayback = NO, currentTimebaseTime == 0.000, newPlayState = PrerollingWillPlay default 19:34:54.510446+0800 mediaserverd <<<< Boss >>>> bossSetMentorModesToForwardPlayback: (0x60ab9f2f0) called, tracks 0...1, start time 0.000, end time nan, rate 1.00, previousOutputDisposition=3 default 19:34:54.510473+0800 mediaserverd <<<< Boss >>>> figPlaybackBossSetRateToNonZero: (0x60ab9f2f0) playState set to PrerollingWillPlay default 19:34:54.510505+0800 mediaserverd <<<< FAQ >>>> faq_reset: [0x606addc40:0x606a3c4d0] calling FigAudioQueueTimingShimReset default 19:34:54.510529+0800 mediaserverd <<<< FAQ TIMING SHIM >>>> FigAudioQueueTimingShimReset: [0x606c3f650] Calling AudioQueueReset(0x132dccd) default 19:34:54.510991+0800 mediaserverd AQMEIO_HAL.cpp:1185 User-selected BT device category is 0
1
0
1.2k
Apr ’23
NowPlaying State Not Updating on Apple Watch
My app plays music via AVAudioEngine. I'm using effects that prohibit me from using a built-in audio player. I'm using MPNowPlayingInfoCenter to provide information to the NowPlaying app on the Apple Watch. When I play a song, the Apple Watch displays the song metadata. When I hit pause on my phone, the Apple Watch shows that the track is no longer advancing via the progress wheel; however, it continues to display the pause button even though the music is paused. Ideally, it would switch to the play symbol when the music is paused. In the documentation it says you can use the playBackState var to set the playback state in macOS. There does not seem to be an equivalent in iOS. I figured maybe the watch would know to switch the pause symbol to the play symbol when the playback rate is 0, but it does not. All other functionality is working properly. The only thing that doesn't update on the watch is the pause / play symbol when the music toggles between play and pause by tapping my phone or from receiving remote command events. Thank you in advance for your help.
0
0
1.1k
Apr ’23
Command Center media buttons is not syncing with App's media state Swift
I have created a media player plugin and exported it via swift framework for my Unity project, the media player works fine on the app. But, when the App's media state is paused the Command Center media button does not update its still on the pause icon and same as with playing the command center button does not update. I already have initiated the AVAudioSession shared instance and set the category to .playback and have also set the .setActive to true. let audioSession = AVAudioSession .sharedInstance() try audioSession .setCategory( .playback, mode: .default ) print("Playback OK") try audioSession.setActive(true) print("Session is Active") I also have initialised the command center, for handling the play and pause events whenever the buttons are clicked in command center. self.commandCenter.playCommand.isEnabled = true self.commandCenter.playCommand.addTarget { [weak self] (event) -> MPRemoteCommandHandlerStatus in self?.play() return .success } self.commandCenter.pauseCommand.isEnabled = true self.commandCenter.pauseCommand.addTarget { [weak self] (event) -> MPRemoteCommandHandlerStatus in self?.pause() return .success } This is the code for the handling the pause self.nowPlayingInfo[MPNowPlayingInfoPropertyElapsedPlaybackTime] = CMTimeGetSeconds(self.player.currentTime()) self.nowPlayingInfo[MPMediaItemPropertyPlaybackDuration] = CMTimeGetSeconds(self.player.currentItem!.duration); self.nowPlayingInfo[MPNowPlayingInfoPropertyPlaybackRate] = 0 self.nowPlayingInfo[MPNowPlayingInfoPropertyDefaultPlaybackRate] = 0 MPNowPlayingInfoCenter.default().nowPlayingInfo = self.nowPlayingInfo self.player.pause() and This is the code for handling the play self.nowPlayingInfo[MPNowPlayingInfoPropertyElapsedPlaybackTime] = CMTimeGetSeconds(self.player.currentTime()) self.nowPlayingInfo[MPMediaItemPropertyPlaybackDuration] = CMTimeGetSeconds(self.player.currentItem!.duration); self.nowPlayingInfo[MPNowPlayingInfoPropertyPlaybackRate] = 1 self.nowPlayingInfo[MPNowPlayingInfoPropertyDefaultPlaybackRate] = 1 MPNowPlayingInfoCenter.default().nowPlayingInfo = self.nowPlayingInfo; self.player.play() What i am expecting is when i click on pause in the App the command center's button should be the play icon if I click on play the command center's button should be pause icon, but right now nothing is working. Please tell me what I am missing here?
1
0
1.3k
Apr ’23
CarPlay: CPListItem isPlaying indicator not updating
I've created a CPListTemplate with dynamic list entries from an API. All entries are different music channels. In my ForEach for generating all list entries, I've set the .isPlaying property to true and also the playingIndicatorLocation to .trailing. If I play a channel, the isPlaying indicator is animated on every list entries. I've set different metadata in the MPNowPlayingInfoCenter and this is correct inside the CPNowPlayingTemplate. Do I need to set some identifier somewhere, so my list template knows which channel is currently playing? If so where can I set this?
1
0
1.1k
Apr ’23
Matching the Queue.CurrentEntry.Item.ID with a Song's ID. Can't tell if it's a bug
I'm trying to match the id of the song currently playing with the id of the song I added to the queue, but they never match. musicPlayer.queue = [mySongVar] print(mySongVar) This will print out: Song(id: "i.eoqMkIkPJ9Ea", title: "À peu près", artistName: "Pomme") then I tell the musicPlayer to play what's in the queue and print: print(musicPlayer.queue.currentEntry!.item!.description) And I´ll get this: MusicPlayer.Queue.Entry.Item.song(Song(id: "1440887303", title: "À peu près", artistName: "Pomme")) I don't understand why the Song.id for the Item for the queue's current entry is a a certain string, but the if for my original Song object I sent to the queue is something else entirely. I'm not sure if I'm going about this the wrong way. I'd really appreciate some help/guidance! Thanks" By the way: let musicPlayer = ApplicationMusicPlayer.shared
1
0
1.1k
Apr ’23
-[MPVolumeView initWithFrame:style:] block main thread
MediaPlayer -[MPVolumeView initWithFrame:style:] + 80 MediaPlayer -[MPVolumeView _initWithStyle:] + 124 MediaPlayer -[MPAVLightweightRoutingController initWithName:] + 140 AVFCore -[AVOutputDeviceDiscoverySession initWithDeviceFeatures:] + 84 I get an application Not Responding problem by capturing function call stack every runloop(1/60s frequency) and get same call stack at about 5 second. MediaPlayer -[MPVolumeView initWithFrame:style:] + 80 MediaPlayer -[MPVolumeView _initWithStyle:] + 124 MediaPlayer -[MPAVLightweightRoutingController initWithName:] + 140 AVFCore -[AVOutputDeviceDiscoverySession initWithDeviceFeatures:] + 84 AVFCore -[AVFigRouteDiscovererOutputDeviceDiscoverySessionFactory outputDeviceDiscoverySessionOfClass:withDeviceFeatures:] + 216 AVFCore -[AVFigRouteDiscovererOutputDeviceDiscoverySessionImpl initWithFigRouteDiscovererCreator:syncController:] + 156 AVFCore _AVFigRouteDiscovererFactoryCreateRouteDiscovererWithType + 132 AVFCore -[AVFigRemoteRouteDiscovererFactory createRouteDiscovererWithAllocator:options:] + 40 MediaExperience _FigRouteDiscovererXPCRemoteCreate + 912 CoreMedia _FigXPCRemoteClientSendSyncMessageCreatingReply + 40 libxpc.dylib _xpc_connection_send_message_with_reply_sync + 228 libdispatch.dylib _dispatch_mach_send_with_result_and_wait_for_reply + 60 libdispatch.dylib __dispatch_mach_send_and_wait_for_reply + 532 libsystem_kernel.dylib _mach_msg + 72 libsystem_kernel.dylib _mach_msg_trap + 8``` It seems that sync waiting for a xpc reply, I want to solve this by call `-[MPAVLightweightRoutingController initWithName:]` on a background thread, but it's call from `-[MPVolumeView initWithFrame:style:]`, I can not create UIView object from background thread. I have no idea about how to solve this.
2
0
1.1k
Apr ’23
Crash in MediaToolbox __setVideoBounds_block_invoke
We are getting MediaToolbox crash in tvOS and iOS 14* versions. Stack track is not providing any details about origin of the issue. Crashed: com.apple.main-thread 0 libobjc.A.dylib 0x54a8 objc_msgSend + 8 1 MediaToolbox 0x2ba198 __setVideoBounds_block_invoke + 84 2 libdispatch.dylib 0x579c _dispatch_call_block_and_release + 24 3 libdispatch.dylib 0x6fdc _dispatch_client_callout + 16 4 libdispatch.dylib 0x13de4 _dispatch_main_queue_callback_4CF + 872 5 CoreFoundation 0x9d030 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12 6 CoreFoundation 0x974e8 __CFRunLoopRun + 2480 7 CoreFoundation 0x96600 CFRunLoopRunSpecific + 572 8 GraphicsServices 0x6598 GSEventRunModal + 160 9 UIKitCore 0x9e3b98 -[UIApplication _run] + 1060 10 UIKitCore 0x9e9148 UIApplicationMain + 164 11 libswiftUIKit.dylib 0xf7a4 UIApplicationMain(_:_:_:_:) + 100 12 hotstarx-tvos 0x7350 main + 4313412432 (RequestButton.swift:4313412432) 13 libdyld.dylib 0x25fc start + 4 2022-11-16_08-26-25.9239_+0200-d28480707c71a8eed186b5d64400dbe3fe2425bf.crash
0
0
668
Apr ’23
Crash in MediaToolbox __setVideoBounds_block_invoke
We are getting MediaToolbox crash in tvOS 14* versions. Stack track is not providing any details about origin of the issue. Crashed: com.apple.main-thread 0 libobjc.A.dylib 0x54a8 objc_msgSend + 8 1 MediaToolbox 0x2ba198 __setVideoBounds_block_invoke + 84 2 libdispatch.dylib 0x579c _dispatch_call_block_and_release + 24 3 libdispatch.dylib 0x6fdc _dispatch_client_callout + 16 4 libdispatch.dylib 0x13de4 _dispatch_main_queue_callback_4CF + 872 5 CoreFoundation 0x9d030 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12 6 CoreFoundation 0x974e8 __CFRunLoopRun + 2480 7 CoreFoundation 0x96600 CFRunLoopRunSpecific + 572 8 GraphicsServices 0x6598 GSEventRunModal + 160 9 UIKitCore 0x9e3b98 -[UIApplication _run] + 1060 10 UIKitCore 0x9e9148 UIApplicationMain + 164 11 libswiftUIKit.dylib 0xf7a4 UIApplicationMain(_:_:_:_:) + 100 12 hotstarx-tvos 0x7350 main + 4313412432 (RequestButton.swift:4313412432) 13 libdyld.dylib 0x25fc start + 4 2022-11-16_08-26-25.9239_+0200-d28480707c71a8eed186b5d64400dbe3fe2425bf.crash
1
0
1k
Apr ’23
Signing error when implementing playbackState reporting
Hi, I'm trying set playbackState like swift MPNowPlayingInfoCenter.default().playbackState = .playing But I receive an error in console. [NowPlaying] [MRNowPlaying] Ignoring setPlaybackState because application does not contain entitlement com.apple.mediaremote.set-playback-state for platform I tried to add it to applications *.entitlements file: xml     keycom.apple.mediaremote.set-playback-state/key     true/ But after that I cannot even build my application due to signing error: Provisioning profile "iOS Team Provisioning Profile: app.name" doesn't include the com.apple.mediaremote.set-playback-state entitlement. I use a free development certificate if it is important. Xcode version is 12.4. Did anyone face with same issue? What do I wrong? What should I do to solve an issue? Thanks for any help!
6
1
6.1k
Mar ’23
Chromecast videos from own website on a view controller
Hi all, I have enabled the ChromeCast icon via Google Cast SDK framework in my app. I am able to cast to my TV, that works fine. But, I cannot cast any media. It says "No media selected" although I am opening a video file and play it. I have an app that is connected to my website so I use UIWebKit and WebView to display my content. On my site I have lots of videos that I would like to be able to cast via ChromeCast, just like Netflix and other streaming video apps. Does anyone know if this is possible and if so, what is needed in the code to make that possible? Thank you very much in advance!
0
0
570
Mar ’23
"[SDKPlayback] applicationController: xpc service connection interrupted" for MPMusicPlayerController.applicationMusicPlayer iOS 16.3.1
Hi! I'm having a problem that I cannot seem to figure out. I have not made any changes to my app, yet this suddenly started happening. I think it started happening after I upgraded my phone to iOS 16.3.1, but I am not entirely sure. Pseudocode: // (1) initialise player let player = MPMusicPlayerController.applicationMusicPlayer // (2) ..later, a button is pressed and we call play() player.play(myAlbumId) // (3) a background timer runs, which will ensure we are playing for 30 seconds, and pausing for 60 seconds (this is a workout app): self.timer = Timer(timeInterval: 1.0, target: self, selector: #selector(togglePauseIfNeeded), userInfo: nil, repeats: true) RunLoop.current.add(self.timer!, forMode: .common) // (4) Now, the problem occurs when the timer triggers play, the second time we are playing music (ie, it works the initial time, but in that case, play was triggered by a button press (step 2)). // So when the timer now calls player.play(), we see this error: "[SDKPlayback] applicationController: xpc service connection interrupted" player.play() Interestingly, if I manually hit play just a few seconds before the timer would have called "play" (at step 4), it works fine. Any thoughts or help on this would be highly appreciated! <3
0
0
826
Mar ’23
Podcast -Error (This server does not support HTTP head requests)
Hello i was setup an Podcast rss under the following url: https://www.eybwallwitz.de/feeds/podcasts/ But i dont get it up running. When i validate the Feed with https://podba.se/ it says: everything is ok: https://podba.se/validate/?url=https://www.eybwallwitz.de/feeds/podcasts But when i use https://www.castfeedvalidator.com/validate.php?url=https://www.eybwallwitz.de/feeds/podcasts i get the Message: FATAL: This server does not support HTTP head requests. Head request support required for Apple Podcasts. Did not finish media tests. I really dont get the problem. I use a nginx 1.18 webserver. Cause i didnt found the problem i explicit allowed HEAD, GET, POST, Options on Feed URL I adjustet mp3 urls with content-disposition: inline; filename="$filename" But nothing works. I tryed to load the feed into my podcast app but the feed from url didnt work, so validator 2 looks like to be right, that there is a problem. i used curl --head to verify check and compare between an old feed an the new one old: https://2020.eybwallwitz.de/de/publikationen/podcast/feed/ new: https://www.eybwallwitz.de/feeds/podcasts/ i expect the problem somewhere in nginx. so if u need more infos, please give me a sign. also when u have any idea what i can do/test to get this problem away. currently i dont have any idea left. thx peter
0
0
663
Feb ’23
What system APIs are available for alarms and "undismissable" notifications
I have an idea for an iOS App that involves creating alarms and "undismissable" notifications. Currently, iOS has multiple system features like silent/ring mode, focus mode, security protections, and other system features that would limit the functionality of an app with this purpose. Basically, think of a system Amber Alert or how the iOS Alarm app works. Regardless of these system settings, the user will be notified of the importance of the alarm immediately. What I'm trying to develop are really two separate things. First an alarm app without a snooze (or a set snooze limit) where you must prove that you're awake. Second, integrate a web API service for volunteer first responders that notify them to respond to an emergency via an iOS app. These are not features that would limit a user's privacy, their experience using iOS, and, quite frankly, be something that is so difficult to implement. If anyone can direct me to any system APIs that would be available to use for the start of this app or make me aware of any "blockers" that would absolutely prevent me from developing this in iOS, I would really appreciate it. My research has not been very in depth and there are differences in opinions on approaches and possibilities. If you are an engineer at Apple and this turns out to be impossible or impractical with current versions of iOS, it would be great to have the ability to be able to do something of this nature in the future.
Replies
1
Boosts
0
Views
1.3k
Activity
May ’23
How to get MPNowPlayingInfoCenter to display the MPNowPlayingInfoPropertyPlaybackProgress value instead of seconds?
I'm trying to configure the "Now Playing" information for my app on iOS. Using MPNowPlayingInfoCenter/MPRemoteCommandCenter is pretty straightforward for this. The issue I'm having is that the audio I'm playing is generated "on the fly" and I do not know the exact duration in seconds. I am able to synthesize an NSProgress to display the progress of the playback but the units are not in seconds. So if I use the NSProgress units with MPNowPlayingInfoCenter the "Now Playing" shows the units in seconds but it appears to be jumpy (because again my progress units are not in seconds but an approximation of the percent completed). [playInfo setObject:@(self.progress.totalUnitCount) forKey:MPMediaItemPropertyPlaybackDuration]; [playInfo setObject:@(self.progress.completedUnitCount) forKey:MPNowPlayingInfoPropertyElapsedPlaybackTime]; I see there is a MPNowPlayingInfoPropertyPlaybackProgress which looks like it would be perfect. I tried setting that instead of MPMediaItemPropertyPlaybackDuration/MPNowPlayingInfoPropertyElapsedPlaybackTime but it appears to have no effect in the "Now Playing" UI. I also tried setting MPNowPlayingInfoPropertyIsLiveStream to YES but that just makes the "Now Playing" UI display "Live" instead of the progress value. Is there a way I can show a progress bar without the units being displayed in seconds? Thanks in advance.
Replies
0
Boosts
0
Views
1k
Activity
May ’23
[MusicKit & MediaPlayer] can not find song use persistentID
I have a song playlist whose element is MPMediaItem, and I want to share this song playlist, so my original plan was to use persistentID as the identification of the song, but I found that persistentID does not seem to be able to cross devices, use MPMediaQuery persistentID to query the result is empty. So my question is? In this case, what should I do to share this playlist, so that other users can find the corresponding song to play after getting the playlist.
Replies
0
Boosts
0
Views
735
Activity
May ’23
iOS 16.4 & iOS 16.4.1 AVPlayer play local mp4 file Failed
iPhone 14 Pro use AVPlayer play local mp4 file cannot play,but the AVPlayer timeControlStatus is AVPlayerTimeControlStatusPlaying after I update my iPhone system to iOS 16.4 and iOS 16.4.1. Here is the iPhone log,we can found the FigfilePlayer is in playing status, so callback to AVPlayer is playing. Testing By testing Photo App, cannot play the video I recorded before. AVPlayer playing online Video works good. After reboot my iPhone 14 Pro, everything works well. Tips please check the FigFilePlayer's changelog in iOS 16.4. default 19:34:54.508400+0800 mediaserverd AQMEIO_HAL.cpp:2220 FetchAndLogFrameSize GetCurrentIOBufferFrameSize deviceID=163, frame size is 512 default 19:34:54.508424+0800 mediaserverd AQMEIO_HAL.cpp:1898 SetIOBufferFrameSize Setting kAudioDevicePropertyBufferFrameSize to 1024 default 19:34:54.508447+0800 mediaserverd HP_Device.cpp:1077 Client request to set buffer frame size to 1024 on VAD 163. default 19:34:54.508549+0800 mediaserverd AggregateDevice_CommonBase.cpp:2877 Setting buffer frame size of 1024 on aggregate device 1771. default 19:34:54.508599+0800 mediaserverd AggregateDevice_CommonBase.cpp:2886 Requested to set 1024, setting buffer frame size of 1024 on aggregate device 1771. default 19:34:54.508749+0800 mediaserverd <<<< FigFilePlayer >>>> itemfig_becameBothCurrentAndReadyForInspection: [0x60b9f5400] P/YA preferred device format NOT changed; preferred sample rate CHANGED; preferred channel count NOT changed => do NOT need to rebuild render pipelines default 19:34:54.508825+0800 mediaserverd <<<< FigFilePlayer >>>> playerfig_updatePlayerActiveState: returning err = 0 default 19:34:54.508850+0800 mediaserverd <<<< FigFilePlayer >>>> playerfig_getNextPlaybackState: [0x60b9f5400] P/YA called. reason ClientInitiated, options: DiscourageWaiting error 19:34:54.508900+0800 ZebraPedia nw_resolver_start_query_timer_block_invoke [C11.1] Query fired: did not receive all answers in time for Hostname#5a04b3da:443 default 19:34:54.508932+0800 mediaserverd <<<< CENTRAL >>>> playercentral_performStartupTaskConfirmingRouteChoiceWithRoutingSessionManager: [0x60a973ef0] P/YA player is not eligible for RouteSessionManager, with reasons: routingSession manager = 0x0, allowsAirPlayVideo = true, willMixWithEveryone = false default 19:34:54.509083+0800 mDNSResponder [R26974] getaddrinfo stop -- hostname: <mask.hash: 'heJTH20uNYxyo7w3hHqb8A=='>, client pid: 7051 (ZebraPedia) default 19:34:54.509126+0800 mDNSResponder [Q18582] Keeping orphaned querier for up to 5 seconds default 19:34:54.509196+0800 mediaserverd <<<< CENTRAL >>>> playercentral_performStartupTaskConfirmingRouteChoiceWithRoutingSessionManager: [0x60a973ef0] P/YA Auto-routing timing breakdown. 0 ms for getting player state + 0 ms for getting session state + 0 ms for making routing decision = 0 ms Total default 19:34:54.509224+0800 SpringBoard Reevaluating promoted elements default 19:34:54.509254+0800 SpringBoard Update preferred layout mode assertion with layout mode preference: <SAUILayoutModePreference: 0x281385560; _preferredLayoutMode: removed; _layoutModeChangeReason: client> default 19:34:54.509282+0800 mediaserverd <<<< FigFilePlayer >>>> playerfig_performStartupTasksForEvents: (0x60b9f5400) P/YA Handled and completed startup task 0x606b14b80 [Auto Routing] default 19:34:54.509309+0800 mediaserverd <<<< FigFilePlayer >>>> playerfig_getNextPlaybackState: [0x60b9f5400] P/YA new playback state: Playing (playerRate: 1.000), NEED TO update item rate (1.000). Previous state: Paused, change reason: ClientInitiated default 19:34:54.509334+0800 mediaserverd <<<< FigFilePlayer >>>> playerfig_setBossRateWithFade: [0x60b9f5400] P/YA called, rate = 1.000, fadeDuration = nan, 176931.91441 default 19:34:54.509361+0800 mediaserverd <<<< FigFilePlayer >>>> playerfig_applySoftwareVolume: [0x60b9f5400] P/YA rp: [FigRenderPipeline 0x60ab95200], propertyName = SoftwareVolume1, targetVolume = 0.00, rampDuration = 0.00, synchronous = YES default 19:34:54.509413+0800 SpringBoard Elements ordered by promotion: ( ) default 19:34:54.509439+0800 ZebraPedia <<<< AVPlayer >>>> avplayer_fpNotificationCallback_block_invoke_13: P/YA setting timeControlStatus=2, reasonForWaitingToPlay=(null) default 19:34:54.509557+0800 mediaserverd <<<< FigFilePlayer >>>> playerfig_applySoftwareVolume: [0x60b9f5400] P/YA rp: [FigRenderPipeline 0x60ab95200], propertyName = SoftwareVolume5, targetVolume = 1.00, rampDuration = 0.00, synchronous = YES default 19:34:54.509634+0800 mediaserverd IOMobileFramebufferCreateDisplayList: All Display Instances enumerated successfully - FB Count = 1 default 19:34:54.510164+0800 mediaserverd <<<< Alt >>>> FPSupport_GetDisplayRefreshInformation: refreshRates:<private> default 19:34:54.510189+0800 SpringBoard quietMode is unchanged, still disabled default 19:34:54.510219+0800 mediaserverd <<<< Alt >>>> FPSupport_GetDisplayRefreshInformation: displayMaxRefreshInterval:1/10 displayMinRefreshInterval:1/120 displayRefreshStep:1/240 default 19:34:54.510251+0800 mediaserverd <<<< Boss >>>> FigPlaybackBossSetRateAndAnchorTime: (0x60ab9f2f0) called, newRate = 1.000, itemTime = nan, hostClockTime = (now+) nan default 19:34:54.510284+0800 mediaserverd <<<< Boss >>>> bossScheduleReachedEndCallbackForTime: (0x60ab9f2f0) called, endTime = nan default 19:34:54.510318+0800 mediaserverd <<<< Boss >>>> bossScheduleAdvanceForOverlappedPlaybackCallbackForTime: (0x60ab9f2f0) called, advanceTime = nan default 19:34:54.510351+0800 mediaserverd <<<< Boss >>>> bossConfigureRatePlan: requested rate 1.000 => will use audio time compression rate 1.000, timebase rate 1.000, NON-snippetised playback default 19:34:54.510382+0800 mediaserverd <<<< Boss >>>> figPlaybackBossSetRateToNonZero: (0x60ab9f2f0) last preroll is not compatible: no previous preroll default 19:34:54.510413+0800 mediaserverd <<<< Boss >>>> figPlaybackBossStartPrerollAndSetPlayState: (0x60ab9f2f0) called, prerollRate == 1.000, itemTime = nan, hostClockTime = nan, prerollTime = nan, useSnippetPlayback = NO, currentTimebaseTime == 0.000, newPlayState = PrerollingWillPlay default 19:34:54.510446+0800 mediaserverd <<<< Boss >>>> bossSetMentorModesToForwardPlayback: (0x60ab9f2f0) called, tracks 0...1, start time 0.000, end time nan, rate 1.00, previousOutputDisposition=3 default 19:34:54.510473+0800 mediaserverd <<<< Boss >>>> figPlaybackBossSetRateToNonZero: (0x60ab9f2f0) playState set to PrerollingWillPlay default 19:34:54.510505+0800 mediaserverd <<<< FAQ >>>> faq_reset: [0x606addc40:0x606a3c4d0] calling FigAudioQueueTimingShimReset default 19:34:54.510529+0800 mediaserverd <<<< FAQ TIMING SHIM >>>> FigAudioQueueTimingShimReset: [0x606c3f650] Calling AudioQueueReset(0x132dccd) default 19:34:54.510991+0800 mediaserverd AQMEIO_HAL.cpp:1185 User-selected BT device category is 0
Replies
1
Boosts
0
Views
1.2k
Activity
Apr ’23
NowPlaying State Not Updating on Apple Watch
My app plays music via AVAudioEngine. I'm using effects that prohibit me from using a built-in audio player. I'm using MPNowPlayingInfoCenter to provide information to the NowPlaying app on the Apple Watch. When I play a song, the Apple Watch displays the song metadata. When I hit pause on my phone, the Apple Watch shows that the track is no longer advancing via the progress wheel; however, it continues to display the pause button even though the music is paused. Ideally, it would switch to the play symbol when the music is paused. In the documentation it says you can use the playBackState var to set the playback state in macOS. There does not seem to be an equivalent in iOS. I figured maybe the watch would know to switch the pause symbol to the play symbol when the playback rate is 0, but it does not. All other functionality is working properly. The only thing that doesn't update on the watch is the pause / play symbol when the music toggles between play and pause by tapping my phone or from receiving remote command events. Thank you in advance for your help.
Replies
0
Boosts
0
Views
1.1k
Activity
Apr ’23
Command Center media buttons is not syncing with App's media state Swift
I have created a media player plugin and exported it via swift framework for my Unity project, the media player works fine on the app. But, when the App's media state is paused the Command Center media button does not update its still on the pause icon and same as with playing the command center button does not update. I already have initiated the AVAudioSession shared instance and set the category to .playback and have also set the .setActive to true. let audioSession = AVAudioSession .sharedInstance() try audioSession .setCategory( .playback, mode: .default ) print("Playback OK") try audioSession.setActive(true) print("Session is Active") I also have initialised the command center, for handling the play and pause events whenever the buttons are clicked in command center. self.commandCenter.playCommand.isEnabled = true self.commandCenter.playCommand.addTarget { [weak self] (event) -> MPRemoteCommandHandlerStatus in self?.play() return .success } self.commandCenter.pauseCommand.isEnabled = true self.commandCenter.pauseCommand.addTarget { [weak self] (event) -> MPRemoteCommandHandlerStatus in self?.pause() return .success } This is the code for the handling the pause self.nowPlayingInfo[MPNowPlayingInfoPropertyElapsedPlaybackTime] = CMTimeGetSeconds(self.player.currentTime()) self.nowPlayingInfo[MPMediaItemPropertyPlaybackDuration] = CMTimeGetSeconds(self.player.currentItem!.duration); self.nowPlayingInfo[MPNowPlayingInfoPropertyPlaybackRate] = 0 self.nowPlayingInfo[MPNowPlayingInfoPropertyDefaultPlaybackRate] = 0 MPNowPlayingInfoCenter.default().nowPlayingInfo = self.nowPlayingInfo self.player.pause() and This is the code for handling the play self.nowPlayingInfo[MPNowPlayingInfoPropertyElapsedPlaybackTime] = CMTimeGetSeconds(self.player.currentTime()) self.nowPlayingInfo[MPMediaItemPropertyPlaybackDuration] = CMTimeGetSeconds(self.player.currentItem!.duration); self.nowPlayingInfo[MPNowPlayingInfoPropertyPlaybackRate] = 1 self.nowPlayingInfo[MPNowPlayingInfoPropertyDefaultPlaybackRate] = 1 MPNowPlayingInfoCenter.default().nowPlayingInfo = self.nowPlayingInfo; self.player.play() What i am expecting is when i click on pause in the App the command center's button should be the play icon if I click on play the command center's button should be pause icon, but right now nothing is working. Please tell me what I am missing here?
Replies
1
Boosts
0
Views
1.3k
Activity
Apr ’23
CarPlay: CPListItem isPlaying indicator not updating
I've created a CPListTemplate with dynamic list entries from an API. All entries are different music channels. In my ForEach for generating all list entries, I've set the .isPlaying property to true and also the playingIndicatorLocation to .trailing. If I play a channel, the isPlaying indicator is animated on every list entries. I've set different metadata in the MPNowPlayingInfoCenter and this is correct inside the CPNowPlayingTemplate. Do I need to set some identifier somewhere, so my list template knows which channel is currently playing? If so where can I set this?
Replies
1
Boosts
0
Views
1.1k
Activity
Apr ’23
Matching the Queue.CurrentEntry.Item.ID with a Song's ID. Can't tell if it's a bug
I'm trying to match the id of the song currently playing with the id of the song I added to the queue, but they never match. musicPlayer.queue = [mySongVar] print(mySongVar) This will print out: Song(id: "i.eoqMkIkPJ9Ea", title: "À peu près", artistName: "Pomme") then I tell the musicPlayer to play what's in the queue and print: print(musicPlayer.queue.currentEntry!.item!.description) And I´ll get this: MusicPlayer.Queue.Entry.Item.song(Song(id: "1440887303", title: "À peu près", artistName: "Pomme")) I don't understand why the Song.id for the Item for the queue's current entry is a a certain string, but the if for my original Song object I sent to the queue is something else entirely. I'm not sure if I'm going about this the wrong way. I'd really appreciate some help/guidance! Thanks" By the way: let musicPlayer = ApplicationMusicPlayer.shared
Replies
1
Boosts
0
Views
1.1k
Activity
Apr ’23
-[MPVolumeView initWithFrame:style:] block main thread
MediaPlayer -[MPVolumeView initWithFrame:style:] + 80 MediaPlayer -[MPVolumeView _initWithStyle:] + 124 MediaPlayer -[MPAVLightweightRoutingController initWithName:] + 140 AVFCore -[AVOutputDeviceDiscoverySession initWithDeviceFeatures:] + 84 I get an application Not Responding problem by capturing function call stack every runloop(1/60s frequency) and get same call stack at about 5 second. MediaPlayer -[MPVolumeView initWithFrame:style:] + 80 MediaPlayer -[MPVolumeView _initWithStyle:] + 124 MediaPlayer -[MPAVLightweightRoutingController initWithName:] + 140 AVFCore -[AVOutputDeviceDiscoverySession initWithDeviceFeatures:] + 84 AVFCore -[AVFigRouteDiscovererOutputDeviceDiscoverySessionFactory outputDeviceDiscoverySessionOfClass:withDeviceFeatures:] + 216 AVFCore -[AVFigRouteDiscovererOutputDeviceDiscoverySessionImpl initWithFigRouteDiscovererCreator:syncController:] + 156 AVFCore _AVFigRouteDiscovererFactoryCreateRouteDiscovererWithType + 132 AVFCore -[AVFigRemoteRouteDiscovererFactory createRouteDiscovererWithAllocator:options:] + 40 MediaExperience _FigRouteDiscovererXPCRemoteCreate + 912 CoreMedia _FigXPCRemoteClientSendSyncMessageCreatingReply + 40 libxpc.dylib _xpc_connection_send_message_with_reply_sync + 228 libdispatch.dylib _dispatch_mach_send_with_result_and_wait_for_reply + 60 libdispatch.dylib __dispatch_mach_send_and_wait_for_reply + 532 libsystem_kernel.dylib _mach_msg + 72 libsystem_kernel.dylib _mach_msg_trap + 8``` It seems that sync waiting for a xpc reply, I want to solve this by call `-[MPAVLightweightRoutingController initWithName:]` on a background thread, but it's call from `-[MPVolumeView initWithFrame:style:]`, I can not create UIView object from background thread. I have no idea about how to solve this.
Replies
2
Boosts
0
Views
1.1k
Activity
Apr ’23
Crash in MediaToolbox __setVideoBounds_block_invoke
We are getting MediaToolbox crash in tvOS and iOS 14* versions. Stack track is not providing any details about origin of the issue. Crashed: com.apple.main-thread 0 libobjc.A.dylib 0x54a8 objc_msgSend + 8 1 MediaToolbox 0x2ba198 __setVideoBounds_block_invoke + 84 2 libdispatch.dylib 0x579c _dispatch_call_block_and_release + 24 3 libdispatch.dylib 0x6fdc _dispatch_client_callout + 16 4 libdispatch.dylib 0x13de4 _dispatch_main_queue_callback_4CF + 872 5 CoreFoundation 0x9d030 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12 6 CoreFoundation 0x974e8 __CFRunLoopRun + 2480 7 CoreFoundation 0x96600 CFRunLoopRunSpecific + 572 8 GraphicsServices 0x6598 GSEventRunModal + 160 9 UIKitCore 0x9e3b98 -[UIApplication _run] + 1060 10 UIKitCore 0x9e9148 UIApplicationMain + 164 11 libswiftUIKit.dylib 0xf7a4 UIApplicationMain(_:_:_:_:) + 100 12 hotstarx-tvos 0x7350 main + 4313412432 (RequestButton.swift:4313412432) 13 libdyld.dylib 0x25fc start + 4 2022-11-16_08-26-25.9239_+0200-d28480707c71a8eed186b5d64400dbe3fe2425bf.crash
Replies
0
Boosts
0
Views
668
Activity
Apr ’23
Crash in MediaToolbox __setVideoBounds_block_invoke
We are getting MediaToolbox crash in tvOS 14* versions. Stack track is not providing any details about origin of the issue. Crashed: com.apple.main-thread 0 libobjc.A.dylib 0x54a8 objc_msgSend + 8 1 MediaToolbox 0x2ba198 __setVideoBounds_block_invoke + 84 2 libdispatch.dylib 0x579c _dispatch_call_block_and_release + 24 3 libdispatch.dylib 0x6fdc _dispatch_client_callout + 16 4 libdispatch.dylib 0x13de4 _dispatch_main_queue_callback_4CF + 872 5 CoreFoundation 0x9d030 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12 6 CoreFoundation 0x974e8 __CFRunLoopRun + 2480 7 CoreFoundation 0x96600 CFRunLoopRunSpecific + 572 8 GraphicsServices 0x6598 GSEventRunModal + 160 9 UIKitCore 0x9e3b98 -[UIApplication _run] + 1060 10 UIKitCore 0x9e9148 UIApplicationMain + 164 11 libswiftUIKit.dylib 0xf7a4 UIApplicationMain(_:_:_:_:) + 100 12 hotstarx-tvos 0x7350 main + 4313412432 (RequestButton.swift:4313412432) 13 libdyld.dylib 0x25fc start + 4 2022-11-16_08-26-25.9239_+0200-d28480707c71a8eed186b5d64400dbe3fe2425bf.crash
Replies
1
Boosts
0
Views
1k
Activity
Apr ’23
How do I access a FairPlay protected stream's frame in avplayer?
when i played a fairplay streaming by avplayer,calling copyPixelBufferForItemTime on AVPlayerItemVideoOutput the pixelbuffer returns NULL.is there any way to get the pixel buffer from a stream that is protected using FairPlay on iOS or apple's APIs in order to display FairPlay stream on an OpenGL texture in 3D space?
Replies
1
Boosts
0
Views
722
Activity
Mar ’23
Signing error when implementing playbackState reporting
Hi, I'm trying set playbackState like swift MPNowPlayingInfoCenter.default().playbackState = .playing But I receive an error in console. [NowPlaying] [MRNowPlaying] Ignoring setPlaybackState because application does not contain entitlement com.apple.mediaremote.set-playback-state for platform I tried to add it to applications *.entitlements file: xml     keycom.apple.mediaremote.set-playback-state/key     true/ But after that I cannot even build my application due to signing error: Provisioning profile "iOS Team Provisioning Profile: app.name" doesn't include the com.apple.mediaremote.set-playback-state entitlement. I use a free development certificate if it is important. Xcode version is 12.4. Did anyone face with same issue? What do I wrong? What should I do to solve an issue? Thanks for any help!
Replies
6
Boosts
1
Views
6.1k
Activity
Mar ’23
Chromecast videos from own website on a view controller
Hi all, I have enabled the ChromeCast icon via Google Cast SDK framework in my app. I am able to cast to my TV, that works fine. But, I cannot cast any media. It says "No media selected" although I am opening a video file and play it. I have an app that is connected to my website so I use UIWebKit and WebView to display my content. On my site I have lots of videos that I would like to be able to cast via ChromeCast, just like Netflix and other streaming video apps. Does anyone know if this is possible and if so, what is needed in the code to make that possible? Thank you very much in advance!
Replies
0
Boosts
0
Views
570
Activity
Mar ’23
"[SDKPlayback] applicationController: xpc service connection interrupted" for MPMusicPlayerController.applicationMusicPlayer iOS 16.3.1
Hi! I'm having a problem that I cannot seem to figure out. I have not made any changes to my app, yet this suddenly started happening. I think it started happening after I upgraded my phone to iOS 16.3.1, but I am not entirely sure. Pseudocode: // (1) initialise player let player = MPMusicPlayerController.applicationMusicPlayer // (2) ..later, a button is pressed and we call play() player.play(myAlbumId) // (3) a background timer runs, which will ensure we are playing for 30 seconds, and pausing for 60 seconds (this is a workout app): self.timer = Timer(timeInterval: 1.0, target: self, selector: #selector(togglePauseIfNeeded), userInfo: nil, repeats: true) RunLoop.current.add(self.timer!, forMode: .common) // (4) Now, the problem occurs when the timer triggers play, the second time we are playing music (ie, it works the initial time, but in that case, play was triggered by a button press (step 2)). // So when the timer now calls player.play(), we see this error: "[SDKPlayback] applicationController: xpc service connection interrupted" player.play() Interestingly, if I manually hit play just a few seconds before the timer would have called "play" (at step 4), it works fine. Any thoughts or help on this would be highly appreciated! <3
Replies
0
Boosts
0
Views
826
Activity
Mar ’23
Podcast -Error (This server does not support HTTP head requests)
Hello i was setup an Podcast rss under the following url: https://www.eybwallwitz.de/feeds/podcasts/ But i dont get it up running. When i validate the Feed with https://podba.se/ it says: everything is ok: https://podba.se/validate/?url=https://www.eybwallwitz.de/feeds/podcasts But when i use https://www.castfeedvalidator.com/validate.php?url=https://www.eybwallwitz.de/feeds/podcasts i get the Message: FATAL: This server does not support HTTP head requests. Head request support required for Apple Podcasts. Did not finish media tests. I really dont get the problem. I use a nginx 1.18 webserver. Cause i didnt found the problem i explicit allowed HEAD, GET, POST, Options on Feed URL I adjustet mp3 urls with content-disposition: inline; filename="$filename" But nothing works. I tryed to load the feed into my podcast app but the feed from url didnt work, so validator 2 looks like to be right, that there is a problem. i used curl --head to verify check and compare between an old feed an the new one old: https://2020.eybwallwitz.de/de/publikationen/podcast/feed/ new: https://www.eybwallwitz.de/feeds/podcasts/ i expect the problem somewhere in nginx. so if u need more infos, please give me a sign. also when u have any idea what i can do/test to get this problem away. currently i dont have any idea left. thx peter
Replies
0
Boosts
0
Views
663
Activity
Feb ’23