我正在寻找一个带字符串的函数的帮助,并以各种方式替换该字符串中的每个字符.我不太确定如何说出我的问题,这样才有意义,所以我会告诉你它应该做什么.
stars('1')
returns ['*']
stars('12')
returns ['*1', '1*', '**']
stars('123')
returns ['*23', '1*3', '12*', '**3', '*2*', '**1', '***']
stars('1234')
returns ['*234', '1*34', '12*4', '123*', '**34', '*2*4', '*23*', '1**4', '1*3*',
'12**', '***4', '**3*', '*2**', '1***', '****']
Run Code Online (Sandbox Code Playgroud)
这一切都是手工完成的,但即使我犯了错误,你也应该明白我现在正在寻找什么.最后的情况(所有*)不是必需的,但我把它放在那里以确保问题得到理解.
这是我到目前为止所提出的,但它并没有完全奏效.
def stars(n):
lst = []
length = len(n)
for j in xrange(0, length):
p = list(n)
for k in xrange(j, length):
p[k] = '*'
lst += [''.join(p)]
return lst
Run Code Online (Sandbox Code Playgroud)
输出:
'1' returns ['*']
'12' returns ['*2', '**', '1*']
'123' returns ['*23', '**3', '***', …Run Code Online (Sandbox Code Playgroud) 我正在寻找一个解释,解释为什么包含未引用类的未使用构造函数重载在使用该类中的其他构造函数将正确构建和运行时会产生编译时错误。
下面是一些演示该问题的示例代码。
// Console Project - references CL1 but not CL2
static void Main(String[] args)
{
var rc1 = new ReferencedClass(); // compiles and runs
var rc2 = new ReferencedClass(1); // wont compile. Needs CL2 reference
var rc3 = new ReferencedClass(0, ""); // compiles and runs
}
// Class Library 1 (CL1) - references CL2
public class ReferencedClass
{
private UnreferencedClass _unreferencedClass;
public ReferencedClass()
{
_unreferencedClass = new UnreferencedClass();
}
public ReferencedClass(Int32 id)
{
_unreferencedClass = new UnreferencedClass();
}
public …Run Code Online (Sandbox Code Playgroud) 我当前正在做的是在记录时从数据接收事件中获取字节并使用编解码器对字节进行编码。我设置的当前使用的编解码器是 ALaw、G722、GSM 等(如 NetworkChatDemo 中所示)
用于开始录制的代码
If waveIn Is Nothing Then
waveIn = New WaveIn
waveIn.DeviceNumber = 0
waveIn.BufferMilliseconds = 100
waveIn.WaveFormat = codec.RecordFormat
waveIn.StartRecording()
End If
Run Code Online (Sandbox Code Playgroud)
用于处理记录字节的代码
Private Sub OnDataAvailable(ByVal sender As Object, ByVal e As WaveInEventArgs) Handles waveIn.DataAvailable
Dim encoded As Byte() = codec.Encode(e.Buffer, 0, e.BytesRecorded)
...
//Send encoded audio over UdpClient
End Sub
Run Code Online (Sandbox Code Playgroud)
这对我来说效果很好,但我想添加对 AAC 格式的支持。因此,我希望获得与上述 DataReceived 事件相同的结果,即编码 AAC 音频的字节数组,我可以通过 udp 发送该音频,或者从MediaFoundationEncoder.EncodeToAac(...)NAudio 中我不知道的另一个类/函数发送。据我所知,MediaFoundationEncoder.EncodeToAac(...)仅将音频编码到文件而不是字节数组。它也不接受字节数组作为参数。有没有办法实现我想要的,或者 NAudio 只允许我在完全录制和保存 AAC 文件后使用它?