外部 swf 卸载后声音继续播放

2023-12-23

我有一个 Flash 应用程序,某种加载外部 SWF 视频播放器的播放列表(我没有对该外部文件的代码访问权限),因此用户可以观看视频或跳到另一个视频。当用户切换到另一个视频时,将加载新的 SWF 文件。

问题:如果用户没有看完视频并跳到下一个,那么我会卸载以前的 SWF 文件(unloadAndStop())并加载一个新的。而且因为之前正在播放的 SWF 文件实际上并未卸载,所以它仍在后台播放(我听到两个音轨:当前的和上一个)。

I tried SoundMixer.stopAll()调用,但实际上并没有帮助,因为背景加载以及当前视频开始播放时的声音。

有没有办法从主“加载器”应用程序解决这个问题?


有趣的是, unloadAndStop() 是针对您的具体情况而设计的。 根据文档...



Example: A SWF file that has a music track is loaded into an application. 
Later, the SWF is unloaded using Loader.unload(). 
Though the SWF will be removed from the screen, the music will still be heard.

SOLUTION
Loader.unloadAndStop is a new addition to Action Script 3's API. 
It helps developers to correctly stop and unload loaded content 
using the Loader.load/loadBytes APIs.

...Flash Player recursively attempts to stop and clear as many 
objects as possible (Sounds, NetStreams, EventListeners, etc.) 
within the loaded SWF. This feature is especially useful 
when unloading unknown 3rd party content.
  

这似乎完全符合你的情况!提供您的 Loader 实现 是正确的,这听起来像是 unloadAndStop() 方法中的错误。

一种替代解决方案可能是创建一个新的加载程序实例,而不是为每个视频使用相同的加载程序。



private var currentMovie:DisplayObject;

private function loadSWF(url:String ):void
{   
   if( currentMovie != null )
    {
       //stop the sound playing in the current movie
       //then remove it from the display list
       removeChild( currentMovie );
       currentMovie = null;
    }

   var loader:Loader = new Loader();
   //configureListeners
   request.url = url;
   loader.load( request , context );

}

private function onLoadComplete(event:Event):void
{
   currentMovie = event.target.loader.content;
   //etc...
}
  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

外部 swf 卸载后声音继续播放 的相关文章

  • 推荐一个适用于 Flex 和 AIR 的 HTML 友好的 RichTextEditor? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 AS3 中将 Little-endian ByteArray 转换为 Big-endian

    AS3中如何将Little endian ByteArray转换为Big endian 我将 bitmapData 转换为 Big endian ByteArray 然后使用 Adob e Alchemy 将其推入内存 然后当我从内存中读取
  • 如何在 PhantomJS 中使用 JavaScript 检测网页上的声音?

    我需要检测带有横幅的网页中的所有声音 我怎样才能做到这一点 我查看 PhantomJS 但找不到浏览器声音的 API PhantomJS 1 x 和 2 不支持 Flash
  • Node.js 流“结束”事件未触发

    以下数据流不会触发 结束 事件 数据 事件被触发 我可以看到记录到控制台的每个数据行 var AWS require aws sdk var ogr2ogr require ogr2ogr var JSONStream require JS
  • ActionScript 3 中的圆形滑块

    我希望在 ActionScript 中添加一个圆形滑块 非常类似于这一页 http interface eyecon ro demos drag vr html shows 它最终会改变对象的色调 返回 CMY 值 但如果它只是吐出程度 我
  • 在 Mac OS X (Mavericks) 上的 Adob​​e AIR 中的两台显示器上显示两个全屏窗口

    我使用的是 Mac OS X Mavericks 使用 Adob e AIR 我想在两个显示器 内置笔记本电脑视网膜显示器和外部 HDMI 显示器 上分别显示单独的全屏窗口 我可以在主显示器上获得全屏窗口 在辅助显示器上获得几乎全屏的窗口
  • flash/flex:渐进式下载与 rtmp

    我试图理解并真正确定何时在 Flex flash 中使用渐进式下载与 rtmp 看来主要的一点是 rtmp 不与 http 一起提供服务 而渐进式下载则由 http 提供 由于它不是 rtmp 因此资源受到保护 因为无法从 swf 外部连接
  • as3 事件 - 类型强制失败?

    我正在将事件从孩子发送到父母 swf 它工作正常 直到我使用预加载器 swf 加载父级 然后父级停止从子级获取事件 我现在收到此错误 TypeError Error 1034 Type Coercion failed cannot conv
  • 从另一个域加载外部图像

    是否可以从另一个域加载图像 jpg png gif 并操作像素 我想当下载 复制图像时它就在我的域中 使用加载器并将内容添加到图像组件时 我在调试器中收到错误 我想这里有一些跨域策略在起作用 但在继续之前我需要更确定它是如何工作的 我想 如
  • 如何取消 NetworkStream.ReadAsync 而不关闭流

    我正在尝试使用 NetworkStream ReadAsync 读取数据 但我找不到如何取消调用后的 ReadAsync 作为背景 NetworkStream 由连接的 BluetoothClient 对象 来自 32Feet NET 蓝牙
  • 获取 Youtube 上的游戏直播列表

    我正在尝试使用 Youtube 数据 API 来获取当前与游戏相关的直播流列表 但我找不到任何符合我需要的端点并返回每个频道的观看者数量 你们知道我该如何做到这一点吗 Thanks 游戏直播列表 videoCategoryId 20 是 游
  • Flex 字典字面量

    在 Flex 中工作 我需要用相当复杂的结构填充字典 基于本文档页面 http livedocs adobe com flex 3 html help html content 10 Lists of data 4 html我尝试通过以下语
  • Actionscript 对象的属性数量

    如何获取通用 Actionscript 对象中的属性数量 如数组长度 您必须循环所有元素才能对它们进行计数 function objectLength myObject Object int var cnt int 0 for var s
  • 如何在 iOS 中使用 AVPlayer 缓冲音频?

    我想播放来自互联网的流音频 我编写了播放流的代码 但它没有任何缓冲区 因此如果信号较弱 应用程序将停止播放音频 这是我的代码 import UIKit import AVFoundation import MediaPlayer impor
  • 使用 Flash 在本地托管游戏?

    我只是找不到合适的谷歌搜索词 是否可以使用 Flash 或 Flash 兼容服务 来允许游戏中的玩家通过 Web 浏览器托管自己的游戏 使用自己的带宽 在某种程度上 从他们的计算机运行他们自己的游戏服务器 对于 Flash 浏览器内游戏 但
  • 我应该等待 Flash Player 10.1 还是使用 Flash Lite 3 来为手机和设备开发 Flash 内容

    Adobe 将在 2010 年第一季度推出 Flash Player 10 1 这将在桌面和移动设备上提供一致的运行时 因此我假设如果它是为 Web 构建的 那么它也可以在移动设备上运行 我即将开始为手机开发基于 Flash 的应用程序 我
  • 如何在动作脚本 3 中设置/访问外部 swf 文件的动态文本字段?

    我正在处理一个 fla 文件 其中添加了一个 swf 文件 我如何在该 swf 文件的动态文本上设置文本 有没有直接设置文本的方法 我不想在 url 中作为参数传递 我试过这样 var rq URLRequest new URLReques
  • 图片加载性能

    我已经尝试了几个小时从文件加载图像的各种方法 请看一下这两种方法 public Image SlowLoad string path return Image FromFile path public Image FastLoad stri
  • AS3 [Event(name="", type="")],有什么意义?

    我使用 FlashDevelop3 R2 和 Flex 3 3 SDK 进行开发 在很多情况下我必须使用嵌入元数据标签 如下所示 Embed source path to file private var Asset Class 我很好地理
  • Dart 流 .asBroadcastStream 内存泄漏

    在我们的 Flutter 应用程序中 我们存在内存泄漏和流未关闭的情况 我们追踪源代码如下 Rx combineLatest asBroadcastStream RxDart的结果 combineLatest 是单订阅流 添加 asBroa

随机推荐

  • 我无法使用模式来使用像“abc_def”这样的组名称

    我对必须编译的一系列模式有疑问 这是一个例子
  • 如何外部化 maven-checkstyle-plugin 的 checkstyle 配置

    我试图让 maven checkstyle plugin 对我们的所有项目使用相同的配置文件 我尝试了几种方法 但没有一种有效 似乎唯一有效的是当我将配置文件放在我的 maven project 的根目录中 然后在 pom xml 中使用该
  • 我不确定为什么决策树和随机森林显示 100% 的准确率?

    我目前正在研究一个模型 该模型可以读取结构化数据并确定某人是否患有疾病 我认为问题在于数据没有在训练数据和测试数据之间分开 我不知道我怎样才能做到这一点 我不知道该尝试什么 import pandas as pd import numpy
  • phpUnit中createMock和getMockBuilder有什么区别?

    为了我一生的挚爱 我无法弄清楚两者之间的区别createMock type and getMockBuilder type 我正在查看原始文档 只有一行我不明白 您可以使用 getMockBuilder type 方法来自定义测试双精度生成
  • 监控磁盘读/写活动

    有没有办法使用 python 获取当前磁盘加载 我使用 psutil 来获取 CPU 和 RAM 使用情况 psutil cpu percent and psutil virtual memory used 但我不知道如何获取有关硬盘的此类
  • 交替表行颜色,但有 2 行数据

    我已经为斑马条纹设置了表格 但是如何实现使行颜色交替为 2 行而不是单行 我的数据标记如下所示 tr td task TaskNum td td task RepiarTime td td Priority Club td td SD td
  • 在 Erlang 中将列表拆分为相同大小的块

    我想分割 1 2 3 4 5 6 7 8 into 1 2 3 4 5 6 7 8 它通常适用于 lists sublist List X 2 X lt lists seq 1 length List 2 但这样确实很慢 在我的上网本上 1
  • pandas dataframe 删除频率较低的行

    删除具有低频值列的所有行的最佳实践是什么 数据框 IN foo bar poo 1 a A 2 a A 3 a B 4 b B 5 b A 6 b A 7 c C 8 d B 9 e B 示例1 删除 poo 列中频率值小于 3 的所有行
  • 实际测试我构建的应用程序(Flask,Python)

    如果我构建了一个应用程序 测试实际应用程序的协议是什么 我只是了解测试 并且对扩展进行测试 在其中构建 shell 应用程序 然后测试您的扩展 对我来说很有意义 但如果我想测试我正在构建的实际应用程序的某些部分 则没有意义 我想知道是否有人
  • Laravel 5:自定义 abort() 消息

    使用 Laravel 5 我想发送自定义abort 信息 例如 如果用户没有执行某项操作所需的权限 我想abort 401 User can t perform this actions 目前 当我这样做时 响应文本是 HTML 页面 而不
  • 使用 Javascript 验证单选按钮

    我已经梳理了这里的大量页面 但仍然无法让我的显式验证器工作 基本上 当单击提交按钮时 我希望脚本验证无线电是否已检查 如果检查后什么也不做 如果没有检查 我希望它发布一条警报消息 我的 html 大致如下所示
  • SignalR + Win RT(Windows 8.1) + 使用未签名的证书不起作用[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 经过 4 个多小时的搜索 使 Windows RT SignalR 使用自签名证书工作 找到了 所以我在这里分享一个解决方案 您收到错误 底
  • 如何发送 SOAP 请求?

    我是 SOAP 和 xml 的新手 我读了很多教程 但似乎没有什么是足够清楚的 我有点困惑 到底如何发送 SOAP 请求 我尝试执行此操作的方法是将 SOAP 请求 如下所示 保存为 test Request xml POST Mobile
  • 如何在node.js中逐块进行压缩?

    我正在以块的形式获取压缩网页的内容 并希望在收到每个内容后立即对其进行解压缩 因此我正在尝试执行以下操作 为了可读性而将内容剥离 var decompress function string callback zlib gunzip str
  • 使用宏刷新 Excel 工作簿中的所有数据透视表

    我有一本包含 20 个不同数据透视表的工作簿 有没有简单的方法可以找到所有数据透视表并在 VBA 中刷新它们 Yes ThisWorkbook RefreshAll 或者 如果您的 Excel 版本足够旧 Dim Sheet as Work
  • 使用 OAuth 从 Twitter 获取名字/姓氏/电子邮件

    我专门使用omniauth 来允许通过facebook google twitter 登录我的网站 我存储名字 姓氏和电子邮件 但是 当我从 oauth 提出 twitter auth 哈希时 我只能在 auth 哈希中获得昵称 名称 位置
  • iPhone Web 应用程序的日期选择器

    显示基于 iPhone 的 Web 应用程序的日期选择器的最佳方式是什么 我们可以在 Web 应用程序中显示类似 iPhone 本机日期选择器的内容吗 最简单的方法 可以说是最好的方法 是使用 safari 的内置日期选择器作为输入框 使用
  • 使用 Google Apps 脚本更新 Google 文档中的嵌入图表

    太长了 如何使用文档中的脚本编辑器更新文档中嵌入的表格图表 我知道有一个脚本可以为 Google 幻灯片执行此操作 但我正在尝试在 Google 文档中执行此操作 但找不到任何相关文档 https developers google com
  • 尝试连接到 localhost:5000 Firebase 时出现“无法获取/”

    我正在尝试让 Firebase 上的本地主机服务器正常工作 但我继续在浏览器中收到以下消息 无法获取 我看了一下控制台 它只说 http 本地主机 5000 http localhost 5000 404 未找到 我尝试使用 firebas
  • 外部 swf 卸载后声音继续播放

    我有一个 Flash 应用程序 某种加载外部 SWF 视频播放器的播放列表 我没有对该外部文件的代码访问权限 因此用户可以观看视频或跳到另一个视频 当用户切换到另一个视频时 将加载新的 SWF 文件 问题 如果用户没有看完视频并跳到下一个