使用 MPMoviePlayerViewController iOS 4.2 时,AudioToolbox 导致 iPhone 内存泄漏

2023-12-29

我使用以下代码(在选项卡栏应用程序的视图控制器内)在用户选择表行后播放从主包加载的视频。

- (void)loadMoviePlayer:(NSString*)moviePath
{
    NSURL* fileURL    =   [[NSURL alloc] initFileURLWithPath:moviePath];

    MPMoviePlayerViewController* player = [[MPMoviePlayerViewController alloc] initWithContentURL:fileURL];
    [fileURL release];

    [self presentMoviePlayerViewControllerAnimated:player];
    [player release];
}

该应用程序在模拟器中构建和运行时没有任何明显问题(我尚未在设备上进行测试),但当我通过 Instruments 运行它时,视频播放期间会发生内存泄漏。 Instruments 强调 AudioToolbox 是“负责任的库”,并且SimAggregateDevice::SimAggregateDevice(_CFString const*, _CFString const*, long&) and

APComponent::CreateDispatchTable(AudioComponentPluginInterface*, unsigned long)

作为“责任框架”。

如果您能对此有所了解,我们将不胜感激! 谢谢。


您还可以为 iPhone 和 iPad 的电影播放器​​创建自己的自定义控件,您可以在其中创建自定义音量管理,并且可以管理很多事情。

以下方法启动电影播放器​​。用于管理 mov

-(void)initAndPlayMovie:(NSURL *)movieURL andViewController:(UIViewController*)vCtr
{
    self.mPlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:movieURL];
    // we have movie from file - Alizee :)
    [self.mPlayer.moviePlayer setMovieSourceType:MPMovieSourceTypeFile];

    // we don't need standard controlls as we have built our own
    [self.mPlayer.moviePlayer setControlStyle:MPMovieControlStyleNone];

    // aspect fit to screen  mode
    [self.mPlayer.moviePlayer setScalingMode:MPMovieScalingModeAspectFit];

    // full screen mode
    [self.mPlayer.moviePlayer setFullscreen:YES animated:YES];

    // to start movie player
    [vCtr presentMoviePlayerViewControllerAnimated:self.mPlayer];

    // now we will add our own view over video player
    self.vCtr.view.frame=CGRectMake(0, 20, self.window.frame.size.width, self.window.frame.size.height-20);

    [self.mPlayer.view addSubview:self.vCtr.view];
}

- (void)stopTapped:(id)sender{
    [self.mPlayer.moviePlayer stop];
}

-(void)moviePlayBackDidFinish:(NSNotification*)notification
{
    [self.mPlayer dismissMoviePlayerViewControllerAnimated];
    [self.vCtr.view removeFromSuperview];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 MPMoviePlayerViewController iOS 4.2 时,AudioToolbox 导致 iPhone 内存泄漏 的相关文章

  • 处理 NSPropertyListSerialization 中的 CFNull 对象

    在我的应用程序中 我尝试序列化服务器响应字典并将其写入文件系统 但对于某些响应 我收到错误 属性列表格式无效 原因是服务器响应中的 CFNull 对象 现在 服务器响应将不断变化 因此我没有明确的方法来删除 CFNull 对象 下面是我的代
  • 在 iPhone 和 Cocos2d 中从类类型(+)方法访问对象?

    我有一个类方法 在其中创建并返回类对象 但我想访问同一类中该对象的某些属性 作为一个类方法 我无法在 h 文件中声明该变量 然后在其他方法中访问它 以下是代码 我如何在下面的实例方法中访问 backsprite 或 hudlayer 对象的
  • iPhone PhoneGap 电子邮件编辑器 SECURITY_ERR:DOM 异常 18 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在使用phonegap 中的 i
  • iPhone,如何将一张图像叠加到另一张图像上以创建要保存的新图像? (水印)

    基本上 我想拍摄用户从照片库中选择的图像 然后应用水印 即右下角的三角形 上面有应用程序名称 我已经在 Photoshop 中用透明层制作了第二张图像 我尝试了一个函数 我不记得它的确切名称 但它涉及 CGIImages 和蒙版 这将两个图
  • Default.png 在模拟器中显示,但在真机 iPhone 上不显示?

    我通过添加 Default png 向我的应用程序添加了启动屏幕 启动画面在模拟器中工作正常 但在真实设备上不显示 检查文件名的大小写 Default png default png Default PNG 和 DEFAULT png 在设
  • 用于在取消时删除 UITableView 单元格的 UIActionSheet 不断显示按下的删除按钮

    当删除表视图中的行时 我想显示一个操作表 要求在某些情况下进行确认 当操作表回答 是 破坏性操作 时 我删除表行 一切都很好 但是当按下 取消 时 我仍然看到 删除 按钮处于按下状态 我在做什么tableView commitEditing
  • 如何将照片和视频加载到Iphone Simulator 4.0

    有没有办法将照片和视频加载到iPhone模拟器4 0中 此致 穆罕默德 萨迪克 诀窍是 退出模拟器 使用 Finder 将照片添加到 iPhone Simulator 4 0 1 Media DCIM 100APPLE 文件夹 删除 iPh
  • 导出资源后偶尔出现空白帧 - AVExportSession

    这个问题有几个答案 但是我的情况有点不同 没有一个答案可以解决我的问题 客观的 我正在尝试添加一个慢动作ramp None
  • 基于 iframe 的 IE6 javascript 内存泄漏?

    我正在使用 iframe 通过带有 jquery 的菜单加载内容 该菜单正在更新 iframe 的 src 属性然后加载到所需的页面中 每一个 页面有自己的 javascript 包含和大量内容 代码如下 document ready fu
  • iPhone 到 Mac 开发

    我是一名 iPhone 开发人员 非常了解该框架 随着 Mac 应用商店即将推出 我想了解有关 Mac 开发的更多信息 有没有好的指南 教程 等等 帮助过渡 我环顾四周并没有发现太多 谢谢您的帮助 您基本上需要了解之间的区别UIKit an
  • 收到 NSInvalidArguementException 错误

    我想这可能与过度释放有关 它不断崩溃if managedObjectContext save error 就像每三次调用该方法一样 当我添加 3 个练习时 更新 我注意到当我往返于不同的例程实例时会发生这种情况 2011 04 28 04
  • Dom Object被移除后,MS Edge的总内存使用量如何持续增长?

    我在 Microsoft Edge 浏览器中遇到内存 泄漏 问题 当我运行内存分析会话并拍摄多个快照时 我看到快照之间的内存被释放 但总内存消耗不断增长 见图 快照之间的内存差异在于 iframe 被添加然后从 DOM 中删除 这怎么可能
  • 使用javascript检测MP4视频是否有音轨

    我正在网页上为 MP4 视频创建自定义控制器 控制器包括音量滑块 一些要播放的视频没有音轨 最好禁用这些视频的音量滑块 这样用户在更改音量滑块的位置没有效果时就不会感到困惑 是否有检查 MP4 文件是否有音轨的属性或技巧 jQuery 是一
  • 使用 Titanium Mobile 编译应用程序后 JavaScript 代码会发生什么

    我从 appcelerator 安装了 Titanium 并构建了 KitchenSink 示例应用程序 一切正常 我只是想知道 javascript 代码最终在构建的应用程序中的位置 我用 grep 编辑了 Xcode 项目以及结果应用程
  • 计算两个坐标之间的距离和路线

    我有 2 个坐标 想做一些看似简单的事情 我想弄清楚 鉴于 1 坐标A 2 Core Location提供的课程 3 坐标B 下列 1 A 和 B 之间的距离 目前可以使用 distanceFromLocation 来完成 所以就可以了 2
  • 创建 iPhone 与外部设备连接的硬件。阿杜伊诺?

    嗨 我需要创建一个简单的连接器 我想我可能需要创建一个arduino板 它将从应用程序中获取数据 然后将它们传输到外部设备 应用程序中有一个滑块可供用户调整 调整滑块时 应用程序只会将值从应用程序发送到我需要建立的连接 该连接将连接到外部设
  • iPhone通讯录:如何获取仅包含电话号码的联系人列表?

    我想获取所有具有电话号码的 ABContacts 的列表 并且仅获取这些联系人 我不想显示任何仅包含电子邮件的联系人 Android 有一个名为 HAS PHNONE NUMBER 的字段 您可以查询该字段 但我没有在 iPhone 上看到
  • 多态性中基类缺少虚拟析构函数 = 资源泄漏?

    我们知道 如果要多态地使用基类 则需要将基类的析构函数指定为 virtual 否则程序中可能会出现资源泄漏 因为只会调用基类析构函数 而不会调用派生对象析构函数 我们还知道构造函数 析构函数纯粹是初始化 未初始化构造 而operator n
  • AVAssetWriter 不适用于音频

    我正在尝试让音频与 iOS 应用程序的视频一起使用 视频很好 文件中没有录制任何音频 我的 iPhone 扬声器可以工作 这是初始化设置 session AVCaptureSession alloc init menu gt session
  • 如何将文本从文本字段发送到另一个视图控制器

    我正在制作一个应用程序 其行为类似于 iPhone 中的默认 Messages app 用户可以在其中编写短信UITextField点击 发送 按钮后 该值UITextField in ComposeViewController将被转移到表

随机推荐