我正在寻找在安卓某种方式类似于的方式发挥内存音频waveOutOpen家族的Windows编程方法.
这些waveOut...方法基本上允许应用程序创建样本值数组(如没有标题的内存中WAV文件),并将它们转储到队列中以进行顺序播放.Windows从一个阵列无缝转换到下一个阵列,因此只要应用程序在播放之前将阵列转储到队列中,程序就可以创建并播放任意长度的连续音频.Windows API还包含一个回调机制,应用程序可以使用该机制来指示进度并加载其他缓冲区.
据我所知,Android音频API允许应用程序从本地存储或URL或内存流播放文件.有没有办法让Android"排队" MediaPlayer.start()呼叫,以便一个玩家在播放完成后转换(没有毛刺)到下一个?它看起来Jet像这样,但只有自己的内部合成引擎.
有没有其他方式可以访问Android音频waveOutOpen?
我想知道为什么跟随正则表达式返回true:
reg = re.compile (r'[0-9]%')
reg.search ("50%")
Run Code Online (Sandbox Code Playgroud)
[0-9] 将匹配任何单个数字,在这种情况下为5.但是0与%不匹配,所以它应该返回false,但它返回true.
我的代码可能有语法错误,但你得到了它的要点.
我正在编写一个包含一个函数的iPhone应用程序.它可以将NSMutableArray转换为CSV文件.但是,我不知道该怎么做.任何人都可以帮我这样做吗?非常感谢你.
// ------更新-----
谢谢大家的回复.
实际上,数组包含元素的对象,但是我可以将它全部修改为数组,如下所示(我想这样做更容易).
该数组是NSMutableArray*csvArray,该数组包含数据,如下例所示.
csvArray[0] = First Name
csvArray[1] = Last Name
csvArray[2] = Phone
csvArray[3] = Tom
csvArray[4] = Chan
csvArray[5] = 123
csvArray[6] = Peter
csvArray[7] = Wong
csvArray[8] = 456
csvArray[9] = Mary's
csvArray[10] = Cho"w
csvArray[11] = 789...
Run Code Online (Sandbox Code Playgroud)
阵列的开头有3个选项卡,分别是名字,姓氏和电话.对于数据,它还包含"和符号.因此,我不能只用','符号来切割数组.
我想输出的格式如下
//---------------------------
First Name, Last Name, Phone // <- it have the \r\n between each row of data
Tom, Chan, 123
Peter, Wong, 456
Mary's, Cho"w, 789 ...
//---------------------------
Run Code Online (Sandbox Code Playgroud) 我有一个DataGrid(官方的)SelectionUnit="Cell".当用户选择一个单元格时,我想显示相应行的行详细信息.这显然不是默认行为,我似乎无法弄清楚如何实现这一点.
这是我的XAML:
<UserControl x:Class="View.Test"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="../AppResources.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
<Grid>
<DataGrid AutoGenerateColumns="False"
ItemsSource="{Binding Path=Fields}"
BorderBrush="Transparent"
HeadersVisibility="Column"
SelectionMode="Single"
SelectionUnit="Cell"
CanUserAddRows="False"
CanUserDeleteRows="False"
CanUserSortColumns="False"
IsTextSearchEnabled="True"
x:Name="EntryGrid"
>
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Path=Name}" Width="Auto" IsReadOnly="True"/>
<DataGridTemplateColumn Header="Value" Width="Auto" x:Name="valueColumn" MinWidth="60" MaxWidth="90">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=DisplayValue}" TextTrimming="CharacterEllipsis" ToolTip="{Binding Path=Text, RelativeSource={RelativeSource Self}}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<DockPanel>
<ComboBox TabIndex="1" HorizontalAlignment="Stretch" VerticalAlignment="Center" SelectedValue="{Binding Path=Value, UpdateSourceTrigger=PropertyChanged}" SelectedValuePath="Value" ItemsSource="{Binding Path=FieldOptions}" Visibility="{Binding Path=FieldOptions, Converter={StaticResource …Run Code Online (Sandbox Code Playgroud) 我在php和mysql中开发了一个开源应用程序.我想把它交给最终用户安装在他们的计算机上并在他们的浏览器中使用而不必为他们托管它.但是最终用户是非开发人员所以他们不太可能拥有运行应用程序所需的功能(像开发人员那样的php-apache本地环境)而且我现在没有时间投资学习Windows或者Mac SDK可以制作真正的Windows或Mac应用程序.大多数对此感兴趣的人都是朋友或朋友.
我正在考虑的解决方案是使用php应用程序本身打包apache/mysql/php,并让安装程序安装它们,以便应用程序可以从www/htdocs文件夹中运行.它就像一个带有自己的服务器的应用程序来运行它.
我有一个 Visual Studio 2008 解决方案,它构建了一个 C# 类库(项目 X)和 C# Windows 应用程序(项目 Y)。
在 C# 类库 (XTEST) 的单元测试项目中,Intellisense 按预期工作并自动完成类的名称等。
在 windows 应用程序 (YTEST) 的单元测试项目中,Intellisense 已停止工作,仅使用访问器类的名称自动完成,而不是实际类的名称。Intellisense 还将许多类名报告为未知/未定义。这些出现在错误选项卡中,但在编译后消失。
可能的相关事实:
任何有灵感的读者能指出我在 YTEST 项目中修复 Intellisense 的正确方向吗?
回答
原来是项目 obj 目录中的 .cache 文件有问题。删除这些解决了问题。
我有一个聊天程序,通过TCP套接字将JSON数据从Apache/PHP推送到Node.js:
// Node.js (Javascript)
phpListener = net.createServer(function(stream)
{
stream.setEncoding("utf8");
stream.on("data", function(txt)
{
var json = JSON.parse(txt);
// do stuff with json
}
}
phpListener.listen("8887", 'localhost');
// Apache (PHP)
$sock = stream_socket_client("tcp://localhost:8887");
$written = fwrite($sock, $json_string);
fclose($sock);
Run Code Online (Sandbox Code Playgroud)
问题是,如果JSON字符串足够大(大约8k),输出消息将被拆分为多个块,并且JSON解析器失败.PHP返回$ written值作为字符串的正确长度,但数据事件处理程序触发两次或更多次.
我是否应该将该函数附加到另一个事件,或者是否有办法在事件触发期间缓存文本,这种方式不会在重负载下屈服于竞争条件?或者其他一些我没有想过的解决方案?
谢谢!
//Using g++ and ubuntu.
#include <vector>
using namespace std;
Run Code Online (Sandbox Code Playgroud)
定义一个类:
class foo(){
(...)
foo(int arg1, double arg2);
}
Run Code Online (Sandbox Code Playgroud)
构造函数:
foo::foo(int arg1, double arg2){
(...) //arrays whose length depend upon arg1 and arg2
}
Run Code Online (Sandbox Code Playgroud)
我想做这样的事情:
vector<foo> bar(10); //error: no matching function for call to 'foo::foo()'
bar[0] = new foo(123, 4.56);
(...)
Run Code Online (Sandbox Code Playgroud)
另一种方法(我更喜欢)是使用push_back:
vector<foo> bar; //works
bar.push_back(new foo(123, 4.56)); //throws similar error.
//Omitting the "new" compiles but throws a "double free or corruption (fasttop)" on runtime.
Run Code Online (Sandbox Code Playgroud)
我希望矢量的不同元素的构造方式不同,所以我不想使用"重复序列构造函数".应该做什么?
我将在iphone应用程序中使用sntp协议.我可以在哪里下载sntp的源代码?请告诉我地址,如果你知道哪里可以下载.
apache ×2
php ×2
android ×1
audio ×1
c++ ×1
class ×1
constructor ×1
csv ×1
datagrid ×1
installer ×1
intellisense ×1
iphone ×1
math ×1
mysql ×1
node.js ×1
objective-c ×1
open-source ×1
p-np ×1
proof ×1
python ×1
regex ×1
rowdetails ×1
sockets ×1
stream ×1
unit-testing ×1
vector ×1
wpf ×1